streams_install

IBM InfoSphere Streams Installation Guide

This guide explains the installation of the Streams system on a single host using interactive terminal method.

Pre-installation Tasks

First we need to create a administrator user and a group who will own the system files of Streams since the instances might be shared by multiple users. We will do the installation as the root user (which is indicated in the code sections with #(sharp) at the beginning of the command. If the command starts with a $(dollar sign), it means the command should be executed as the user who owns the Streams installation files) but root cannot own the Streams installation. The installation must be owned by the user you created. For administrative user creation you can use this tutorial. You may use your everyday user account (which has the sudo rights).

After creating the user, we are extracting the installation files using tar:

# tar -xzvf streams-install-package-name.tar.gz

The archive will be extracted to StreamsInstallFiles.

Before starting installation, we need to make sure that the system satisfy all the dependencies.The StreamsInstallFiles directory contains a dependency checker script for that purpose, so we run it.

# cd StreamsInstallFiles/
# ./dependency_checker.sh

The Output:

 --- InfoSphere Streams Dependency Checker ---
ERROR: Java was not found
Java must be installed to run the dependency checker.

Since we don't have the Java installed, dependency checker complains. We need to install Java to be able to run dependency checker and actually run Streams. The installation package contains the required Java (which is deployed by IBM but it is said that it works also with Java SE 6 JDK from Oracle.). We will be installing the Java included in the package.

# yum install --nogpgcheck rpm/ibm-java-x86_64-sdk-*.rpm

After installing java we run the dependency checker again.

# ./dependency_checker.sh

We got the following errors on our system. If you passed all checks you can continue from Installation step.

IBM InfoSphere Streams for Non-Production Environment 3.0.0.0 Dependency Checker
Date:  Fri Feb 08 12:39:20 EET 2013

=== System Information ===
* Hostname:  localhost
* IP address:  127.0.0.1
* Operating system:  CentOS release 6.3 (Final)
* System architecture:  x86_64
* Security-Enhanced Linux setting:  Enforcing
* Java vendor:  IBM Corporation
* Java version:  1.6.0
* Java VM version:  2.4
* Java runtime version:  pxa6460sr11-20120806_01 (SR11)
* Java full version:  JRE 1.6.0 IBM J9 2.4 Linux amd64-64 jvmxa6460sr11-20120801_118201 (JIT enabled, AOT enabled)
J9VM - 20120801_118201
JIT  - r9_20120608_24176ifx1
GC   - 20120516_AA
* Java IBM system encoding:  UTF-8
* Encoding:  UTF-8

=== System Configuration Check ===
* Status:  PASS - Check:  Hostname and IP address check
* Status:  PASS - Check:  Operating system version check
* Status:  PASS - Check:  Architecture check
* Status:  PASS - Check:  Java check
* Status:  PASS - Check:  Encoding check

=== Software Dependency Package Check ===
* Status:  MISSING - Package:  gcc-c++, System Version:  Not applicable
    Error:  CDISI5010E The gcc-c++ software dependency is not installed. A minimum version of 4.4.6-3.el6 is required.
* Status:  MISSING - Package:  libcurl-devel, System Version:  Not applicable
    Error:  CDISI5010E The libcurl-devel software dependency is not installed. A minimum version of 7.19.7-26.el6_1.2 is required.
* Status:  MISSING - Package:  perl-XML-Simple, System Version:  Not applicable
    Error:  CDISI5010E The perl-XML-Simple software dependency is not installed. A minimum version of 2.18-6.el6 is required.
* Status:  CORRECT VERSION - Package:  ibm-java-x86_64-sdk, System Version:  6.0-11.0
* Status:  MISSING - Package:  policycoreutils-python, System Version:  Not applicable
    Error:  CDISI5010E The policycoreutils-python software dependency is not installed. A minimum version of 2.0.83-19.18.el6 is required.
* Status:  CORRECT VERSION - Package:  selinux-policy, System Version:  3.7.19-154.el6
* Status:  CORRECT VERSION - Package:  selinux-policy-targeted, System Version:  3.7.19-154.el6

=== Summary of Errors and Warnings ===
* Error:  CDISI5010E The gcc-c++ software dependency is not installed. A minimum version of 4.4.6-3.el6 is required.
    Cause: Before you run the product, at least the minimum required version of the prerequisite software must be installed.
    Action: Before you run the product, install at least the minimum required version of the prerequisite software.
* Error:  CDISI5010E The libcurl-devel software dependency is not installed. A minimum version of 7.19.7-26.el6_1.2 is required.
    Cause: Before you run the product, at least the minimum required version of the prerequisite software must be installed.
    Action: Before you run the product, install at least the minimum required version of the prerequisite software.
* Error:  CDISI5010E The perl-XML-Simple software dependency is not installed. A minimum version of 2.18-6.el6 is required.
    Cause: Before you run the product, at least the minimum required version of the prerequisite software must be installed.
    Action: Before you run the product, install at least the minimum required version of the prerequisite software.
* Error:  CDISI5010E The policycoreutils-python software dependency is not installed. A minimum version of 2.0.83-19.18.el6 is required.
    Cause: Before you run the product, at least the minimum required version of the prerequisite software must be installed.
    Action: Before you run the product, install at least the minimum required version of the prerequisite software.

CDISI0001I The dependency checker evaluated the system and found 4 errors.

We got four dependency errors. We are going to install 3 of them (gcc-c++ libcurl-devel policycoreutils-python) using system's package manager but before installing we need to check the version dependencies of each package we installing via system's package manager. Another dependency which is not listed here but it needs to be installed is libxslt. Now run the following command.

# yum install gcc-c++ libcurl-devel policycoreutils-python libxslt

We need to install the perl-XML-Simple using the rpm package provided in the installation package.

# yum install --nogpgcheck rpm/perl-XML-Simple-*.rpm

After installing all dependencies run the dependency checker again for confirmation.

# ./depencency_checker.sh

If you encounter an error like below,

=== Summary of Errors and Warnings ===
* Error:  CDISI5005E The centos host name was resolved to a loopback address.
    Cause: The product cannot use a host name that resolves to a loopback address.
    Action: Change the configuration of the host. For more information about name resolution, see the InfoSphere Streams Information Center.

You need to remove your hostname from loopback address(127.0.0.1) line in /etc/hosts and add your ip address and your hostname to the file as shown below.

127.0.0.1  localhost 
::1         localhost
172.16.109.151 localhost centos

When you got no errors, you may proceed to the installation steps otherwise you need to make sure you satisfy all requirements.


Installation

Start the installation by executing the following script.

# ./InfoSphereStreamsSetup.bin -i console

Read the instructions and continue installation. At some step the script will ask you the owner user and group details of Streams system. Enter them according to the user you created in the beginning.

If you don't know the user's group you can find out with the following command:

# groups username

After that the script would ask you the installation location, the default is fine, press enter without entering anything. Default location for Streams files is /opt/ibm/InfoSphereStreams.

At the end you should see “Installation Complete” indicating successful installation. Read the instructions on the screen.

Post-installation Tasks

After installation you should check the installation summary log file in /opt/ibm/InfoSphereStreams/logs/InfoSphereStreams3.0.0.0_InstallSummary.log to confirm your installation is successful. If you see any errors you may want to check Streams post-installation script

If you want to verify your installation, you can use this tutorial.

Now you are done with the installation of Streams.


Troubleshooting

JVM Errors in IBM Streams Studio

If you are experiencing JVM errors with Streams Studio, take a look at the Note 4. After configuring the system to use IBM JDK, if you are still having JVM errors while using Streams Studio, install Eclipse Classic from its website and follow the steps explained here until the Step 3. Before that, additionally you need to update Eclipse by going to Help > Check new updates and then, you can continue from Step 3.

Notes

Note 1: Before you run any streams instance, you should follow the steps below: Create ssh keys for the user who owns the Streams installation (if you don't have the keys):

$ ssh-keygen -t rsa

And finally add your public key to your ~/.ssh/authorized_keys file:

$ ssh-copy-id username@localhost

Note 2: The commands, folder locations used throughout the guide is for CentOS 6. Some commands might be different on other distributions.

Note 3: If you got hostname errors like system cannot run on localhost, you should change your hostname to map not to 127.0.0.1 but your card's IP address.(You may learn your IP with ifconfig.)

Note 4: If you install on a Desktop environment, CentOS may install OpenJDK on your machine and OpenJDK doesn't run streams. You should change your Java to IBM's Java.

First, list your installed java versions with following command.

# alternatives --config java

The output would be something like the below,

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

If you have IBM's Java here, enter IBM Java's selection index and press enter. Otherwise, you need to add it with the following command to the java alternatives list.

# alternatives --install /usr/bin/java java /opt/ibm/java-x86_64-60/bin/java 1

After installing, list your Java installs again, select the IBM's Java and you are done.

Additionally, to make everything right, you may set JAVA_HOME variable to IBM's JDK. Add the following line to your .bashrc.

export 	JAVA_HOME="/opt/ibm/java-x86_64-60/"
streams_install.txt · Last modified: 2013/04/03 19:47 by dogukan

Page Tools