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/IBM 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 Java VM Installation tutorial.

File description

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.jarMain server file (jar library)
config/log4j2.xmlXML file containing log4j2 configuration
config/preferences.xmlXML containing server configuration
logDefault folder for storing logs
license/storm-license.keyLicense key (it will be updated by the server itself)
license/storm-pubic.keyPublic license key
scripts/start.shStartup script for Linux/MacOS
scripts/stop.shStop script for Linux/MacOS
scripts/start.batStartup script for Windows
scripts/ stop.batStop script for Windows
Table 1. File description table

Basic configuration

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

echo Staring new Java App
java -server -Xmx128g -Xms32g -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -jar "/home/storm/StormStreamingServer.jar" -configRootDIR /home/storm &

The script will automatically kill all instances of Storm sever and start a new one. We’ll have to edit some parameters before we can properly launch the server.

-Xmx128gJVM 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: 512m, 64g
-Xms32gJVM 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: 512m, 64g
-jar “<PATH_TO_JAR_FILE>”This is the direct path to the jar file
-configRootDIR <PATH_TO_MAIN_FOLDER>This parameter points to the main application folder (containing license and config folders).
Table 2. Basic configuration table


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

  • For Linux/MacOS based systems

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

  • For Windows based operating systems


There is also a pair of scripts for shutting server down

  • For Linux/MacOS based systems

  • For Windows based operating systems