Installing StreamBase on Linux

Before You Install

Before you install StreamBase, use the following checklist to make sure each target machine matches the prerequisites.

    Read through the New and Noteworthy page for the current release to look for any late-breaking information about installing StreamBase on Linux.
    If you have used StreamBase Studio on the target machine, back up your existing Studio workspace and configuration, as described in the next section.
    You must uninstall any existing StreamBase installation before proceeding. StreamBase Systems does not support the use of multiple StreamBase releases on the same UNIX machine. See Uninstalling StreamBase on Linux.
    Confirm that the target machine is running a supported Linux distribution with the latest updates. See Supported Configurations.
    Confirm that the target machine's RAM and disk space requirements meet or exceed the minimums listed on Supported Configurations.
    Confirm that you have root access on the target machine if you plan to install StreamBase in the default location, /opt/streambase, or in another location that requires root access.
   

Important! The StreamBase installer cannot finish installing if this library is not found.

On newer Linux distributions, install the Linux package that provides GCC 3.3 compatibility to support a Reuters library included with StreamBase. For RHEL 5, install compat-libstdc++-33. For SuSE 10, install compat-libstdc++. Install the 32-bit version of the compatibility package, even on 64-bit Linux.

   

Confirm that the target machine has a Mozilla-compatible web browser such as Firefox. On Linux, StreamBase Studio's Welcome page and Studio Help require a browser such as Firefox to be installed and locatable on the PATH. If you removed Mozilla or Firefox, 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 or Firefox installation, like this example:

MOZILLA_FIVE_HOME=/usr/lib/firefox
    For Linux distributions that include Firefox 3.x, be sure to install your distribution's xulrunner compatibility package. Without this package, StreamBase Studio's welcome page and help system do not display correctly. The package name to install may begin with xulrunner-1.x.x or mozilla-xulrunner1xx, depending on your Linux distribution.
   

If you plan to use a supported external JDK, follow the steps in Using an External JDK. Remember that StreamBase is not supported for running with gcj, icedtea, or openjdk.

(StreamBase installation kits for all platforms include the runtime components of an Oracle JDK for private use by StreamBase Studio and StreamBase Server. You only need to configure an external JDK in rare cases.)

    If your StreamBase applications will access external database tables via the StreamBase Adapter for JDBC, you must install or have network access to a supported database product as listed in Supported Configurations, and must have the vendor's JDBC drivers for that database.

Note

Linux users ONLY of Studio release 6.4, see Xulrunner Issues in StreamBase for special instructions. That page does NOT apply to release 6.5 or later.

Back Up Existing StreamBase Workspace and Configuration

If you used a previous release 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. Save the backup copy with a filename that indicates the version number of the release you are archiving. For example, save localSBworkspace_6.6.5.tar.

The default location of the StreamBase workspace directory is the following, where n.m are the major and minor release numbers of the currently installed StreamBase release:

~/streambase-studio-n.m-workspace

You may have specified a different directory the first time you ran StreamBase Studio.

The StreamBase configuration directory is stored in a version-specific directory under ~/.streambase:

~/.streambase/streambase-studio-n.m-configuration

Installation Options for Linux

The Linux installer for StreamBase is provided in two forms:

  • A set of RPM installation files wrapped in a shell script

  • A tar.gz archive file wrapped in a shell script

In both cases, you run the wrapper shell script, which selects a destination folder, displays license information, and then installs the component files. The RPM installer also runs a few configuration steps after installing its files. The archive installer only installs files.

The Linux distributions supported by StreamBase both support RPM installers. StreamBase Systems strongly recommends using the RPM installer.

Note

These installation instructions presume that you have downloaded one or more StreamBase installer files to your local file system. This includes both the Developer Edition Trial kit downloaded from streambase.com, and the Enterprise Edition installer files downloaded from a customer-specific FTP site, as directed by StreamBase Technical Support.

These instructions do not change if you were given a StreamBase CD-ROM or USB drive, which contain the same installer files named with the same name patterns as the downloaded installer files. The only extra step in those cases is to mount the CD-ROM or USB drive so that you have access to the files on the device. See your Linux distribution's documentation or consult your site's technical staff if you need help mounting a CD-ROM or USB drive.

Continue with the instructions in one of the following sections:

Installing with the RPM Installer

The StreamBase RPM installer is delivered in a single file named with the following pattern:

  • streambase-rpms-version_build.linux.arch.bin

where version is the release number, build is an internal software build number, and arch identifies the targeted CPU architecture, either i686 or x86_64.

Install the RPM version of the StreamBase base kit installer with these steps:

  1. If you intend to install to the default location in /opt, log in as root, or prefix the installer script command with sudo.

  2. If you copied the installer file from another location, it may have lost its executable permission in the copy. Restore executability with a command like the following:

    chmod +x ./streambase-rpms-*.bin
    
  3. Run the installer wrapper script with a command like the following:

    ./streambase-rpms-*.bin
    

    The script stops StreamBase Server if it is running. If you start the server from an /etc/init.d script, you must restart it after the installation completes.

  4. The wrapper script prompts for the path to an installation directory. For a standard installation, press Enter to accept the default, /opt/streambase.

    If the script detects an existing RPM installation in the target directory, it displays a notice that it will upgrade the existing installation. If the script detects an existing Archive installation, it halts the installation and prompts you to remove the existing installation first. (In this case, be sure to preserve the StreamBase license file in the etc directory.)

    If you do not have root rights on a shared development machine, you can install for evaluation and testing purposes in a home directory subfolder. In this case, specify the full, absolute path to the alternate directory. The installer script does not recognize environment variable expansion or the tilde (~) shortcut. Specify a full path such as the following:

    /home/sbuser/apps/streambase
    
  5. The wrapper script displays the text of the StreamBase license. Press Space to page through the license text.

  6. The script prompts Do you accept this license agreement? Type yes and press Enter.

  7. The RPM installer then extracts and installs the installation files.

  8. When done, the script prompts: Installation complete.

Partial RPM Installation

The StreamBase RPM installer contains five RPM installers bundled into one installer. The five component RPMs are the following:

  • streambase-client-*.rpm — installs the client utilities such as sbc, sbadmin, sbfeedsim, and so on.

  • streambase-devel-*.rpm — installs tools and APIs that let you write StreamBase extensions.

  • streambase-docs-*.rpm — installs the documentation.

  • streambase-server-*.rpm — installs StreamBase Server.

  • streambase-studio-*.rpm — installs StreamBase Studio.

There may be occasions when you only need to install a portion of the full set. The streambase-server and streambase-devel packages each require the streambase-client package to be installed. Other than these requirements, you can install any combination of RPMs.

For example, to install only StreamBase Server without Studio, you only need to install the streambase-server and streambase-client RPMs. To do this, first extract the RPMs from the streambase-rpms-*.bin installer with a the following steps:

  1. Log in as root (or run the following commands with sudo).

  2. If you copied the installer file from another location, it may have lost its executable permission. Restore executability with a command like the following:

    chmod +x ./streambase-rpms-*.bin
    
  3. Run the installer wrapper script with the unpack argument:

    ./streambase-rpms-*.bin unpack
    
  4. The wrapper script prompts for the path to an installation directory and suggests the current directory by default. Accept the suggestion or specify a relative path to a temporary directory.

  5. The wrapper script displays the text of the StreamBase license. Press Space to page through the license text.

  6. The script prompts Do you accept this license agreement? Type yes and press Enter.

  7. The archive installer then extracts the installation files to the specified temporary directory.

  8. When done, the script prompts: Installation complete.

Next, use an rpm command to install the packages of interest. For example:

rpm -Uvh streambase-server-*.rpm
rpm -Uvh streambase-client-*.rpm

Installing with the Archive Installer

The StreamBase archive installer is delivered in a single file named with the following pattern:

  • streambase-archive-version_build.linux.arch.bin

where version is the release number, build is an internal software build number, and arch identifies the targeted CPU architecture, either i686 or x86_64.

Install the archive version of the StreamBase base kit installer with these steps:

  1. If you intend to install to the default location in /opt, log in as root, or prefix the installer commands below with sudo.

  2. If you copied the installer file from another location, it may have lost its executable permission in the copy. Restore executability with a command like the following:

    chmod +x ./streambase-archive-*.bin
    
  3. Run the installer wrapper script with a command like the following:

    ./streambase-archive-*.bin
    
  4. The script checks for a compatible platform and architecture, and warns if you are installing the wrong version for the current platform.

  5. The wrapper script prompts for the path to an installation directory. For a standard installation, press Enter to accept the default, /opt/streambase.

    If the script detects an existing installation in the target directory, it halts the installation and prompts you to remove the existing installation first. (In this case, be sure to preserve the StreamBase license file in the etc directory.)

    If you do not have root rights on a shared development machine, you can install for evaluation and testing purposes in a home directory subfolder. In this case, specify the full, absolute path to the alternate directory. The installer script does not recognize environment variable expansion or the tilde (~) shortcut. Specify a full path such as the following:

    /home/sbuser/apps/streambase
    
  6. The wrapper script displays the text of the StreamBase license. Press Space to page through the license text.

  7. The script prompts Do you accept this license agreement? Type yes and press Enter.

  8. The archive installer then extracts and installs the installation files.

  9. When done, the script prompts: Installation complete.

Partial Archive Installation

The archive installation file contains a number of tar.gz files, one for each StreamBase component, adapter, or framework. You can unpack the archive installation file into its component tar.gz files by appending the unpack argument when running the installer script:

  1. Log in as root, or prefix the installer script command with sudo.

  2. If you copied the installer file from another location, it may have lost its executable permission in the copy. Restore executability with a command like the following:

    chmod +x ./streambase-archive-*.bin
    
  3. Run the installer wrapper script with the unpack argument:

    ./streambase-archive-*.bin unpack
    
  4. The wrapper script prompts for the path to an installation directory and suggests the current directory by default. Accept the suggestion or specify a relative path to a temporary directory.

  5. The wrapper script displays the text of the StreamBase license. Press Space to page through the license text.

  6. The script prompts Do you accept this license agreement? Type yes and press Enter.

  7. The archive installer then extracts the installation tar.gz files to the specified directory.

  8. When done, the script prompts: Installation complete.

The contents of each .tar.gz file is a directory structure rooted at the relative directory streambase. This lets you un-tar some or all of the .tar.gz files to any location you choose.

Installing External Adapters and Frameworks

External adapters and StreamBase Frameworks may have their own separate installer files, which are provided in either RPM or tar.gz formats.

Note

You must use the same installer type for adapters and Frameworks as you used for the base kit. That is, if you installed the base kit with the RPM installer, you must install adapters and Frameworks with the RPM installer, and likewise for the .tar.gz installers.

Adapter and Framework Installer file names follow naming patterns like these:

  • streambase-name-adapter-version-datecode.arch.rpm

  • streambase-name-adapter-version-datecode.arch.tar.gz

  • streambase-name-framework-version-datecode.arch.rpm

  • streambase-name-framework-version-datecode.arch.tar.gz

where name identifies the adapter or Framework, version is the release number, datecode is a timestamp, and arch identifies the targeted CPU architecture.

RPM Installer. After the StreamBase base kit is installed, you can install an external adapter or Framework with its RPM installer, using a command like the following examples, run as root:

rpm -Uvh streambase-jdbc-adapter-6.4.14_115901.2-1004271126.i686.rpm
rpm -Uvh streambase-FXA-framework-6.4.14_115901-1004271126.i686.rpm

Archive Installer. To install external adapters or Frameworks from their archive installers into a standard StreamBase installation in /opt/streambase, follow this example, run as root. This example presumes you placed the downloaded installer files in /home/sbuser/kits:

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

Post-Installation Configuration

The following sections describe both mandatory and optional configuration steps that you must perform after running the StreamBase installer.

Installing a License File

Before running StreamBase Server from the command line or from within StreamBase Studio, you must install a license file, as described in Configuring a StreamBase License.

Setting Up Your Linux Environment

Modify the environment of each user who will use and develop with StreamBase by adding the following command to the shell startup files. Notice that this command uses the back quote character ( ` ), not the single quote character:

eval `/opt/streambase/bin/sb-config --env`

This command sets the STREAMBASE_HOME environment variable and modifies the PATH, LD_LIBRARY_PATH, and MANPATH environment variables.

Making Symbolic Links for StreamBase Commands

If you installed with the RPM installation method, the installer already created symbolic links in /usr/bin for the following sets of files:

  • /opt/streambase/bin/jsb*

  • /opt/streambase/bin/sb*

  • /opt/streambase/bin/sb*.ini

The RPM installer created links in /usr/lib for the following files:

  • /opt/streambase/lib/*.jar

  • /opt/streambase/lib/libsb*

    or

    /opt/streambase/lib64/libsb*

If you installed with the archive installer, you must make the same links manually. This is accomplished by running commands like the following as root or with sudo.

Run these commands for both 32-bit and 64-bit Linux:

sudo ln -s /opt/streambase/bin/sb* /usr/bin/
sudo ln -s /opt/streambase/bin/jsb* /usr/bin/
sudo ln -s /opt/streambase/lib/*.jar /usr/lib/

Then, for 32-bit Linux, run this additional command:

sudo ln -s /opt/streambase/lib/lib* /usr/lib/

For 64-bit Linux, run this additional command:

sudo ln -s /opt/streambase/lib64/libsb* /usr/lib/

Setting Up for Remote Studio Access

StreamBase Studio users on remote Windows or Linux client machines can connect to, start, and run StreamBase Server on the Linux machine where you installed StreamBase. For this to work, there are three requirements and one configuration option, as described in Configuring UNIX Servers for Remote Studio Access.

Setting Up for Automatic Server Start

The installer installs configuration files that allow StreamBase Server to automatically start when the host machine boots, but leaves these files disabled. After installation, StreamBase Server is configured only to start on demand, or to start from remote Studio users.

Once you have a working StreamBase application ready to deploy, you can edit these configuration files to configure your UNIX host to automatically start StreamBase Server when the host starts. Follow these steps:

  1. Create and edit a Server configuration file and place it in /opt/streambase/etc/ with the name sbd.sbconf.

    1. Create a default configuration file with the following command, run as root or with sudo:

      sbd -s > /opt/streambase/etc/sbd.sbconf
      
    2. Edit this file, using StreamBase Server Configuration File XML Reference as a guideline. At a minimum, you must specify the full path to the EventFlow or StreamSQL application file you want to run when the host boots. You can also specify the full path to directories containing modules, and the path to locate resource files such as CSV input files.

  2. If you used the RPM installation method, skip to the next step (the RPM installer already performed this step for you). If you used the archive installation method, run a command like the following as root or with sudo to copy the server startup script to /etc/init.d:

    cp -p /opt/streambase/etc/init.d/streambase /etc/init.d/
    
  3. Run the following command to enable the streambase startup script:

    chkconfig --add streambase
    

The streambase startup script makes the following assumptions:

  • The server's executable is found at /usr/bin/sbd.

  • The server's configuration file is in /opt/streambase/etc/sbd.sbconf.

  • The configuration file defines the application to be run.

  • The server will run on port 10000.

  • The server will be started with its –b (background) option, which means that the server's log messages are by default redirected to syslog. You can configure logging for background mode as described in Server Background Mode and Logging.

To establish different defaults, edit the /etc/init.d/streambase script .

Uninstalling StreamBase on Linux

To uninstall StreamBase on Linux, follow these steps:

  1. Before uninstalling, prepare and save a version-specific backup copy of your current StreamBase Studio workspace.

  2. Log in as root (if you installed the product in an area that requires root access, such as /opt/streambase), or run the following commands with sudo.

  3. Confirm that StreamBase Server (sbd) is not running on this machine:

    ps -A | grep sbd
    

    If 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.

  4. If you are uninstalling in order to install a newer release, copy and preserve your StreamBase license file with a command like the following:

    cp /opt/streambase/etc/streambase-license.xml /home/sbuser/importantfiles/
    
  5. Remove the StreamBase packages or remove the installation directory, depending on the installation method you used on the target machine.

    If you installed using the archive installer, the only step is to remove the installation directory.

    rm -rf /opt/streambase
    

    If you installed using the RPM installer, use the following instructions to uninstall:

    1. Use a command like the following to determine the StreamBase packages currently installed:

      rpm -q -a | grep streambase
      
    2. If you installed external adapters or a StreamBase Framework, remove those packages first, using commands like the following examples:

      rpm -e streambase-jdbc-adapter
      rpm -e streambase-FXA-framework
      
    3. Enter a command like the following to remove the StreamBase packages. You only need to specify the first portion of the name, up to the version string. (The command is shown broken onto several lines for clarity. Enter the command as a single unbroken line):

      rpm -e streambase-client \ 
             streambase-studio streambase-server \
             streambase-devel streambase-docs
      

      If you prefer to uninstall each package separately, then remove streambase-client last, because the other packages depend on its presence.

  6. If you installed with the RPM method, or if you manually established the symbolic links in /usr/bin and /usr/lib as described in Making Symbolic Links, remove those symbolic links now. (If you are uninstalling only in order to reinstall a newer release, you can skip this step.)

  7. Delete any StreamBase startup configuration, if you previously added it:

    chkconfig --del streambase
    

Downgrading StreamBase Versions

When you upgrade from one StreamBase release to a newer release, on first run, StreamBase Studio may automatically and silently upgrade the XML representation of your application files.

If you need to downgrade back to a previously used StreamBase release (such as to add a feature to an existing application), the older StreamBase Studio may not recognize some of the changes made to your applications by the newer Studio. Thus, if you must return to an older StreamBase release, specify a separate workspace, and either start over with new projects in StreamBase Studio, or restore your matching version-specific backup copies to the separate workspace.