Starting in InfoSphere Streams 4.0 and later, a shared file system is no longer required. However, if you have one¬†set up and you want to continue to use it, you can install to a directory in the shared file system. The directory needs to be accessible from all of the hosts that you want in your domain. This article will walk through the installation to a shared file system and setting up the InfoSphere Streams services to automatically restart when the host reboots after a host failure (i.e. run the domain controller service as a system service). ¬†By setting up the domain controller service to run as a system service this eliminates the need for SSH to communicate between the hosts.
In this article you will do the installation and then create a domain.
Before you begin:
- Set up your Apache ZooKeeper server. You will need the ZooKeeper connection string. This walk through will use this connection string: myzookeeper1:9900,myzookeeper2:9900,myzookeeper3:9900. This is an external ZooKeeper with 3 nodes in the ensemble for high availability support.
- You will need to run some of the commands as user root. If you do not have user root’s password you will have to ask your administrator to set up sudo. This article uses sudo when user root is required.
Before you do the installation:
- From the software distribution site, download the main installation package for your specific operating system and architecture. For example, if your target system is a 64-bit RHEL 6 system, you must download the InfoSphere Streams 64-bit RHEL 6 installation package.¬† Download the package¬† to the¬† host that you want to be your main management host. This is where you will typically be running commands and where you will do your development from. This document will refer to this host as the main management host.
Now you are ready to begin.
- Extract the contents of the main installation package. Run this command from the directory where you stored the main installation package.
tar zxf tar-file-name.tar.gz
- Change directory to StreamsInstallFiles directory created by the extraction.
- Run the dependency checker script to verify your host meets the software and system requirements. Fix any errors and warnings that are reported.
- Install the product by running the main¬† installation binary. This command will run the installation program in GUI mode if an XWindow System is available on your host. Otherwise this will run in console mode. You can install as a root user or non-root user. You will be asked to select the edition you purchased. When you are asked to specify the root installation directory, specify a directory in the shared file system. ¬†For the rest of the panels, take the defaults.
On the Post Installation panel leave the Open Domain Manager checkbox checked. This will open the Domain Manager which you will use later to complete the setup.
- Setup the ZooKeeper environment variable. This is so you don’t have to continuously enter in the connection string. You can add this command to your .bashrc file or /etc/profile.d or run this from a command prompt. Replace myzookeeper1:9900,myzookeeper2:9900,myzookeeper3:9900 with your ZooKeeper connection string.
- Setup the InfoSphere Streams environment variables. You can add this command to your .bashrc file or /etc/profile.d or run this from a command prompt.
- ¬†Set up all the hosts in your environment so that the InfoSphere Streams services can automatically recover from a host failure (i.e. run the domain controller service as a system service). ¬†You must run this command as the user root. ¬†You will need to run this command from each host, including the main management host.
sudo -E $STREAMS_INSTALL/bin/streamtool registerdomainhost -d <domain-id>
- The hosts are now available to participate in the domain-id¬† specified above and the¬†InfoSphere Streams domain controller service is running as a system service on each host where you ran the¬†streamtool registerdomainhost command.
You are now ready to create the domain and tag the hosts. For instructions on how to do that see: Creating a domain and tagging the hosts. When you create the domain, make sure you use the same name as you specified on the¬†streamtool registerdomainhost command.
For considerations on setting up a multi-host environment see: http://www.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.install.doc/doc/ibminfospherestreams-install-options-configuration.html.
For more information on setting up the enterprise domain and setting up the domain controller to run as a Linux system service see: http://www.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.cfg.doc/doc/setting-up-enterprise-domain.html.
For information about system and software dependencies see: http://www.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.install.doc/doc/ibminfospherestreams-install-prerequisites.html.
For information about installing the main installation package, see: http://www.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.install.doc/doc/ibminfospherestreams-install.html.
The following streamtool commands will help you manage your InfoSphere Streams system service. These commands need to be run as the root user:
- registerdomainhost – registers a host with a domain, and installs the domain controller service as a system service.
- stopdomainhost – stops the domain controller system service on a host.
- startdomainhost – starts the domain controller system service on a host.
- unregisterdomainhost – removes a resource from the domain, removes the domain controller system service.
- getdomainhoststatus –¬† returns the status of the¬†domain controller system service on the host.
For information on streamtool commands, run streamtool man <command> or see: http://www.ibm.com/support/knowledgecenter/SSCRJU_4.0.0/com.ibm.streams.ea.doc/streamtool/doc/streamtool.html.