Installing StreamBase on Linux

Before You Install

Before you install StreamBase, use this checklist to ensure that each target node matches the prerequisites:

  • The target node's resources (CPU, RAM, disk capacity) must meet or exceed the minimum values described on the Supported Configurations page.

  • If you plan to install the StreamBase kit into a directory that requires root access, such as /opt or /usr/local, you must have access to the root account on the target node. (You can install StreamBase into another area, such as a home directory, and will not need root access.)

  • The target node must be running a supported Linux release with the latest updates, as listed in the Supported Configurations topic.

  • To run StreamBase applications, you must have a Sun JDK installed. See Supported Configurations for the supported JDK versions.

  • If you are running a stripped-down version of RHEL 4, the package compat-libstdc++-33-3* must be installed for StreamBase to run properly.

  • If your StreamBase applications will access external database tables via the StreamBase Adapter for JDBC, you must have installed, or have network access to, a database product as listed in Supported Configurations.

Important

StreamBase Systems does not support the use of multiple StreamBase releases on the same machine. The rpm -Uvh command shown in these instructions automatically performs an upgrade from any previous version of StreamBase to the current release. That is, any previous release in your installation directory (by default, /opt/streambase) is replaced by the new installation. However, if you elect to install StreamBase from the streambase-*.tar.gz file, you must first uninstall the existing StreamBase version, as described in Uninstalling StreamBase on Linux.

Back Up Existing StreamBase Workspaces and Configuration

If you used previous releases of StreamBase on the target machine, create backup copies of your existing StreamBase workspace and configuration directories, before using StreamBase Studio in the current release. Your StreamBase workspace and configuration directories include your projects, which in turn contain your Eventflow application diagrams and associated files for each project. When you create the backup file, have its filename indicate the StreamBase release number (such as 3.5.7) those projects used; for example, mySBWorkspace_3.5.7.zip.

The directories are in these default locations:

your-home-directory/streambase-workspace/ 
your-home-directory/.streambase/sbstudio-configuration/

Installing from the RPMs or the Single Tarball

The StreamBase kit for Linux is packaged in two ways:

  • As a set of Red Hat Package Manager (RPM) files., which can be installed with a command such as:

    rpm -Uvh streambase-*.rpm
    
  • Or as a single tarball, which can be installed with a command such as:

    tar -xzf streambase-*.tar.gz
    

Note

The following steps include a number of important caveats. To ensure a successful installation, please read all the steps:

  1. Log into the root account if you plan to install StreamBase into a privileged area such as /opt or /usr/local.

  2. Insert the StreamBase product CD or download the kit. For CD installations, if automount is not enabled, mount the CD. For example:

    mount /mnt/cdrom
    

    On the product CD and in the FTP download site's directories, the kit's *.rpm files are in the ./rpms directory. The kit's single *.tar.gz file is in the ./tarfiles directory.

    Download Kit Options. Instead of the product CD, you may have downloaded the StreamBase kit from an FTP URL given to you by a StreamBase representative. Or you may have downloaded the StreamBase Developer Edition kit from the Developer Zone. Note that on the DevZone, the download file for Linux users is a self-extracting .bin file that contains the StreamBase installation tarfile. Please remember the location of the downloaded files.

  3. The StreamBase installer checks for the existence of a supported version of the Sun® Java Development Kit (JDK) on your PATH. Please refer to the Supported Configurations topic for the supported JDK versions. A JDK is required; a JRE is not sufficient.

    For your convenience, a supported JDK kit is provided on the StreamBase CD for Linux, and on the FTP download site for Enterprise Editions. However, if you are using the downloaded StreamBase Developer Edition kit from the Developer Zone, the JDK is not provided.

    If you already have a supported JDK installed, you do not need to replace it with the JDK from the StreamBase CD.

    CD examples:

    • On the CD for StreamBase for 32-bit Linux on Intel x86 platforms:

      cd /tmp
      sh /mnt/cdrom/rpms/third-party/jdk-1_5_0_12-linux-i586-rpm.bin
      rpm -Uvh jdk-1_5_0_12-linux-i586.rpm
      
    • On the CD for StreamBase for 64-bit Linux on x86_64 platforms:

      cd /tmp
      sh /mnt/cdrom/rpms/third-party/jdk-1_5_0_12-linux-amd64-rpm.bin
      rpm -Uvh jdk-1_5_0_12-linux-amd64.rpm
      
  4. StreamBase also has a dependency on the compat-gcc33 RPM, which is distributed on the StreamBase CD and on the FTP download site for Enterprise Edition kits. CD examples:

    cd /mnt/cdrom/rpms/third-party 
    rpm -Uvh compat-gcc33-*.rpm
    

    This command may show the package is already installed:

    package compat-gcc33-3.3.4-1 is already installed

    In this case, you can either add the --replacepkgs switch to the rpm command above to reinstall it, or skip this step and use your existing compat-gcc33 package.

    Note

    For Enterprise Edition kits, the sources for some third-party software packages are shipped on the CD, and on the FTP download site, in the sources directory, to comply with GPL and LGPL obligations.

Note

If you are running a stripped-down version of RHEL 4, the package compat-libstdc++-33* must be installed for StreamBase to run properly.

Installing StreamBase from the RPMs

StreamBase is packaged in multiple RPMs. In the following list, RRR refers to the release number, DDD refers to a date string that reflects the date and time when the installation CD was built, and PPPP refers to the processor type (such as i586 or x86_64).

streambase-client-RRR-DDD.PPPP.rpm

Installs the StreamBase clients (sbc, sbfeedsim, others)

streambase-studio-RRR-DDD.PPPP.rpm

Installs StreamBase Studio

streambase-server-RRR-DDD.PPPP.rpm

Installs the StreamBase servers (sbd, others)

streambase-devel-RRR-DDD.PPPP.rpm

Installs tools that let you write clients and custom functions

streambase-docs-RRR-DDD.PPPP.rpm

Installs the StreamBase documentation. (The installation CD contains a copy of the documentation in the doc directory, so that you can read the StreamBase Release Notes, the Supported Configurations topic, and Installation Guide before starting the installation.)

The streambase-server and streambase-devel packages require the streambase-client to be installed. Other than these requirements, you can install any combination of RPMs.

To install the StreamBase RPMs, use the rpm -Uvh filename.rpm command. For example:

cd /mnt/cdrom/rpms/streambase 
rpm -Uvh streambase-*.rpm

By default, the RPMs install the StreamBase software into the /opt/streambase/ directories. To change the install directory, use the relocate option.

For example:

rpm -Uvh --relocate /opt/streambase=/usr/local/streambase streambase-*.rpm

Note

If you use the relocate option, make sure that the new installed directory's bin subdirectory is in your PATH.

As with most RPMs, certain applications and libraries are also installed into /usr/bin, /usr/lib, and /usr/share/man.

Installing StreamBase from the Single Tarfile

Note

If you downloaded the StreamBase for Linux kit from the Developer Zone, the following step assumes that you have already run the StreamBase*.bin file to extract the installation tar file.

To install StreamBase from the single tar file, enter commands like the following. This example assumes that a downloaded StreamBase kit temporarily resides in a /home/sbuser/kits directory. If you are using the product CD, instead specify the mounted CD's path plus the streambase-*.tar.gz filename.

cd /opt
tar -xzf /home/sbuser/kits/streambase-*.tar.gz

Or if you want to install the files in a non-privileged area, such as one of your /home directories, enter commands like the following. In this example, we are installing from the kit on the mounted product CD:

mkdir /home/sbuser/streambase
cd /home/sbuser/streambase
tar -xzf /mnt/cdrom/tarfiles/streambase-*.tar.gz

Important

After installing StreamBase from the tar file, run the following command, to set up the environment:

eval `streambase-install-dir/bin/sb-config --env`

This command sets the STREAMBASE_HOME environment variable and modifies the PATH, LD_LIBRARY_PATH, and MANPATH environment variables, for the current shell. Note the use of the backquote character ( ` ) in the preceding example; it is not a single quote character.

Installing StreamBase Server RPMs Only

To install only the StreamBase Server RPM and its dependencies, use commands like the following to install the minimum set of RPMs.

cd /mnt/cdrom/rpms/streambase 
rpm -Uvh streambase-server-*.rpm streambase-client-*.rpm

The StreamBase Server minimum installation for staging and production environments does not depend on compat-gcc33.

To develop StreamBase clients or custom functions on the production machine, install the streambase-devel and streambase-docs RPMs (only excluding the streambase-studio RPM). For example:

cd /mnt/cdrom/rpms/streambase
rpm -Uvh streambase-server-*.rpm streambase-client-*.rpm 
streambase-devel-*.rpm streambase-docs-*.rpm

If you install these four RPMs, note that streambase-devel requires compat-gcc33. See the previous section in this topic for information about installing compat-gcc33, if you do not already have it on the production machine.

Post-Installation: Licensing

Configure the StreamBase license as described in the Configuring a StreamBase License topic.

Initial Configuration on a Single Machine

To support StreamBase Studio users on Windows or Linux client machines connecting to the remote Linux machine where StreamBase Server is installed, your Linux host must have an SSH daemon running with TCP port forwarding enabled, and password authentication enabled. To enable TCP port forwarding, ensure that your /etc/ssh/sshd_config file does not contain the following lines:

AllowTcpForwarding No
PasswordAuthentication No

If you update the sshd_config, remember to restart your SSH daemon before the StreamBase Studio users start their sessions.

Note

Remote users who connect from StreamBase Studio to your host must also have valid UNIX accounts on the machine where you install StreamBase Server. Remote users connecting StreamBase Studio from their Windows or Linux machine must provide valid username and password credentials to connect to your server.

Scripts and Configuration Files Installed

The following scripts and files were installed as part of the streambase-server RPM:

  • Initialization scripts in the /etc/init.d directory:

    streambase
    sbclusterd
    sbnoded
    
  • Configuration files in streambase_install_dir/etc:

    sbd.sbconf
    sbclusterd.sbconf
    sbnoded.sbconf
    

    The sbclusterd and sbnoded scripts and configuration files are only relevant in a StreamBase cluster. See Installation on Multiple Machines.

The StreamBase scripts in /etc/init.d point to the configuration files, as follows:

This start script... Points to this configuration file...
/etc/init.d/streambase streambase_install_dir/etc/sbd.sbconf
/etc/init.d/sbclusterd streambase_install_dir/etc/sbclusterd.sbconf
/etc/init.d/sbnoded streambase_install_dir/etc/sbnoded.sbconf
streambase_install_dir is the StreamBase installation directory (/opt/streambase by default).

Enter the following command if you want the StreamBase Server to run when the Linux system boots:

chkconfig --add streambase

You can also run the streambase script at any time to start StreamBase, without having to reboot.

By default, StreamBase uses skeleton configuration files. To customize the configuration files for use with one of your applications, use the -s flag as shown in the next set of example, and pipe the output to a file. For example:

sbd -s > ~/myapps/sbd.sbconf
sbclusterd -s > ~/myapps/sbclusterd.sbconf
sbnoded -s > ~/myapps/sbnoded_one.sbconf

For details about the StreamBase configuration files, see the following topics:

Later in the development cycle, when you are ready to deploy the application to a staging server, the recommended location for the .sbapp application file is:

streambase_install_dir/var/applications

For example, /opt/streambase/var/applications

Web Browser Requirement

On Linux, the StreamBase Studio Welcome page and Help require that either Mozilla or Firefox is installed and can be located. If you removed Mozilla or installed it in a non-standard location, the Welcome page or Help may not appear. A workaround is available: set the environment variable MOZILLA_FIVE_HOME to the path of your Mozilla installation. Here are two examples (your path may be different):

MOZILLA_FIVE_HOME=/usr/lib/mozilla-1.7.3
MOZILLA_FIVE_HOME=/usr/lib/firefox-2.0.0.7

Installation on Multiple Machines

You can distribute the processing of a StreamBase application across multiple machine in a cluster. To support this feature, you must install StreamBase on each machine, repeating the installation steps described above in the section Initial Configuration on a Single Machine.

After the installations (and typically later in your development cycle), you can configure the cluster so that one node hosts the StreamBase Cluster Manager, sbclusterd. The other nodes will each run a StreamBase Node Manager, sbnoded. In StreamBase Studio, you can indicate (optionally) that a component will run in its own thread, and you can enable an additional data parallelism feature. (See StreamBase Execution Order, Concurrency Options, and Data Parallelism; this option is not appropriate for all components.) On SMP machines, the distribution of threads across processors happens automatically. There is a further option to customize a StreamBase Cluster Manager sbclusterd.sbconf configuration file, in which you can specify the machine on which each component will be processed.

We suggest you consider the optional distribution steps later in your development cycle. Those steps are described in the Administration module, on the Creating a Clustered Application page. First take some time to learn about the StreamBase operators, StreamBase Studio, and other tools.

Installation on Multiple Machines

You can distribute the processing of a StreamBase application across multiple nodes in a cluster. To support this feature, you must install StreamBase on each node. On every node in the cluster, repeat the installation steps described above in Installation on a Single Machine.

Note

After the StreamBase installation on each node, remember to put a copy of the streambase-license.xml file in the streambase_install_dir/etc directory of each machine. For details, see Post-Installation: Licensing in this topic.

After installing on the target machines, you can configure the cluster so that one node hosts the StreamBase Cluster Daemon, sbclusterd. The other nodes will each run a StreamBase Node Daemon, sbnoded. In StreamBase Studio, you have the option of indicating that selected components can run in their own thread. You can also indicate in a customized sbclusterd.sbconf file whether a component can run on a particular machine in a cluster environment.

The configuration and setup of a StreamBase cluster is an advanced topic that requires some experience with running StreamBase applications. If this is your first time installing and running StreamBase, postpone the setup of your StreamBase cluster until later in your development cycle. See Creating a Clustered Application.

Uninstalling StreamBase on Linux

Before uninstalling, keep a version-specific backup copy of your StreamBase Studio workspace. When you move from one StreamBase release to the next release, StreamBase Studio may automatically upgrade the XML representation of your applications. However, if you develop applications and then decide to downgrade to a previously used release, the older StreamBase Studio may not recognize some of the settings. If you must use the prior StreamBase release, you may need to delete the existing Studio workspace and configuration directories, and either start over with new projects in StreamBase Studio, or restore your matching version-specific backup copies.

To uninstall StreamBase on Linux, follow these steps:

  1. Log into the root account, if you installed the product in an area that requires root access, such as /opt/streambase.

  2. Confirm that the StreamBase Daemon (sbd) is not running on this machine:

    ps -A | grep sb
    

    If the StreamBase Server is running, confirm that the server can be shut down without disrupting StreamBase users or applications. At the appropriate time, enter the sbadmin shutdown command.

  3. Enter these commands to remove the StreamBase packages:

    rpm -e streambase-client streambase-studio streambase-server streambase-devel streambase-docs
    
  4. Delete any StreamBase startup configuration, if you previously added it:

    chkconfig --del streambase