Installing IBM Streams Runner for Apache Beam from an IBM Streams on-premises installation
Edit meInstalling IBM® Streams Runner for Apache Beam from an installation of IBM Streams involves extracting the Streams Runner toolkit and configuring environment variables.
Before you start
The on-premises installation of Streams Runner supports Apache Beam 2.4 applications, so your application must use the Apache Beam SDK for Java API version 2.4.
Before you run the installation program, ensure that the STREAMS_INSTALL environment variable is set. If it is not, you
can set it in the bash shell by using the cd command to change to the Streams
installation directory and entering the following command:
. bin/streamsprofile.sh
Installing and configuring Streams Runner
- Go to a directory where you have permission to create files.
- Extract the toolkit by entering the following command, where
<runner-version>is the version of Streams Runner:tar -zxvf $STREAMS_INSTALL/etc/beam/com.ibm.streams.beam-<runner-version>.tar.gz -
(Optional) Create the Streams Runner environment variables.
Tip: Although the variables are not required, the documentation refers to them for convenience. If you do not set the environment variables, you must use the full paths when you run the sample applications.
- Go to the
examplesdirectory in the expanded toolkit and run thestreams-runner-env.shcommand to set up environment variables for the runner:cd com.ibm.streams.beam-<runner-version>/examples . bin/streams-runner-env.sh
- Go to the
- Set up IBM Streams for use with Streams Runner.
- Set the
STREAMS_DOMAIN_IDandSTREAMS_INSTANCE_IDenvironment variables to the Streams domain and instance you will use with Streams Runner. - Verify that the Streams domain and instance are running:
streamtool getinstancestateIf the
getinstancestateoutput includes the errorCDISC5005E, start the instance:streamtool startinstanceIf the
getinstancestateincludes the errorCDISA5056E, start the domain and instance:streamtool startdomain && streamtool startinstance - Configure your certificates and keystore.
Important: Streams Runner uses the Streams REST API for Beam metrics and job status, and Java rejects the connection if the certificate is not trusted or does not match the host name.
Creating and configuring certificates is beyond the scope of this installation guide. For more information, see Setting up client certificate authentication for IBM Streams users.
- Set the
Validating the Streams Runner installation
Streams Runner relies on preserving the com.ibm.streams.beam directory structure. To verify an installation, ensure that the translation and sdk JAR files appear as follows when you enter the following command:
ls $STREAMS_BEAM_TOOLKIT/lib
> com.ibm.streams.beam.sdk.jar com.ibm.streams.beam.translation.jar
The Streams Runner directory tree structure
com.ibm.streams.beam-<runner-version>/
| - template.vcap
| - README.html
| - README.md
| - com.ibm.streams.beam/
| | - info.xml
| | - toolkit.xml
| | - com.ibm.streams.beam.transforms/
| | - doc/
| | - opt/
| | - impl/
| | | - lib/
| | | | - com.ibm.streams.beam.runtime.jar
| | - lib/
| | | - com.ibm.streams.beam.sdk.jar
| | | - com.ibm.streams.beam.translation.jar
| - examples/
| | - README.html
| | - README.md
| | - pom.xml
| | - src/
| | - target/
| | | - site/
| | - bin/
| | | - streams-runner-env.sh