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 start.sh file (win_start.bat for Windows based operating system) from scripts directory. The file looks as follow:

                        
#!/bin/sh
…
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

Startup

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

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

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

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

Shutdown

There is also a pair of scripts for shutting server down

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

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