Native Installation - Storm Streaming Server

Native installation gives you most control over Storm Streaming Server performance and behavior. In order for Storm software to work you’ll need a Java Virtual Machine. There are many vendors like OpenJDK or Oracle you can choose from. The only requirement is that specific VM is compatible with Java 17.

Let’s check if Java Virtual Machine is present on your system

                        
java -version
                    
(for Windows please use PowerShell/Command Prompt)
If Java is absent from your system, please check our detailed Java JVM Installation Tutorial.

Server Files Overview

Storm Streaming Server can be downloaded from My Products/Download page and comes as the compressed zip file. Please uncompress it into a desired location (we suggest something within /home or /srv directories). The package contains:

StormStreamingServer.jar Main server file (jar library).
config/log4j2.xml XML file containing log4j2 configuration.
config/preferences.xml XML containing server configuration.
log Default folder for storing logs.
license/storm-license.key License key (it will be updated by the server itself).
license/storm-pubic.key Public license key.
scripts/startup.sh Startup script for Linux/MacOS.
scripts/shutdown.sh Stop script for Linux/MacOS.
scripts/startup_win.bat Startup script for Windows.
scripts/shutdown_win.bat Stop script for Windows.
Table 1. File description table

Basic Configuration

Before starting the server for the first time please edit startup.sh file (startup_win.bat for Windows based operating system) from scripts directory. The file looks as follow:

                        
#!/bin/sh

echo "Storm Streaming Server :: Startup Script"

# Check if Java is installed and get the version
if ! JAVA_VERSION=$(java -version 2>&1); then
    echo "Java is not installed on this system. Please install Java 17+ like OpenJDK or Oracle JDK to run this application."
    exit 1
fi

JAVA_MAJOR_VERSION=$(echo "$JAVA_VERSION" | awk -F '"' '/version/ {print $2}' | cut -d'.' -f1)

# Check if Java major version is 17
if [ "$JAVA_MAJOR_VERSION" -ge "17" ]; then

    # Force shutdown of any existing instances
    pkill -9 -f "StormStreamingServer.jar"

    cd "$(dirname "$0")"/..

    echo "Starting new Storm Streaming Server instance..."

    java -server -Xmx16g -Xms8g -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -jar "StormStreamingServer.jar" &
else
    echo "This application requires Java 17+ to run! Please update your Java JDK."
    exit 1
fi

exit
                    

The script will automatically check if Java is present in our system and kill all previous instances of the sever. We’ll have to edit some parameters before we can properly launch the server (these are also present in startup_win.bat version).

-Xmx16g JVM parameter controlling the maximum amount of RAM memory can be allocated to JVM. The amount shouldn’t exceed ¾ of the total RAM In your system.

You can replace the value with any number according to this pattern: -XmxYZ, where Y is the number of Z (g – gigabytes, m -megabytes)

Example: 32g, 64g, 128g
-Xms8g JVM parameter controlling the minimal amount of RAM memory allocated to the JVM. This number shouldn’t be lower than ¼ of the -Xmx parameter

You can replace the value with any number according to this pattern: -XmxYZ, where Y is the number of Z (g – gigabytes, m -megabytes)

Example: 8g, 16g, 32g
Table 2. Basic configuration table

In this case, the script will automatically navigate to the parent directory and execute the .jar file located there, which is the main file of the server application. The application will attempt to find the config directory at this location to retrieve the appropriate configuration. It is possible to specify root location with an optional parameter -configRootDIR, as shown below.

                        
java -server -Xmx16g -Xms8g -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -jar "StormStreamingServer.jar" -configRootDIR /home/storm &
                    

Startup

In order to start the server, just execute the start script file.

  • For Linux/MacOS based systems
                            
    ./srv/storm/scripts/startup.sh
                        

    If you run into permission error, you might want to add execute rights to it too:
                            
    chmod 775 /srv/storm/scripts/startup.sh
                        

  • For Windows based operating systems
                            
    C:\Storm\scripts\startup_win.bat
                        

Shutdown

There is also a pair of scripts for shutting server down

  • For Linux/MacOS based systems
                            
    ./srv/storm/scripts/shutdown.sh
                        

  • For Windows based operating systems
                            
    C:\Storm\scripts\shutdown_win.bat
                        
Next Step

In the next step you'll learn how to configure Sever Identity & Group settings.

Support Needed?

Create a free ticket and our support team will provide you necessary assistance.