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)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 |
logs | Default folder for storing server 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. It'll also check for Java JDK version. |
scripts/shutdown.sh | Stop script for Linux/MacOS. |
scripts/startup_win.bat | Startup script for Windows. |
scripts/shutdown_win.bat | Stop script for Windows. |
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
…
java -server -Xmx16g -Xms8g -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -jar "StormStreamingServer.jar" &
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.
-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: 8g (development), 128g (production) |
-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: 4g (development), 32g (production) |
-jar “<PATH_TO_JAR_FILE>” | This is a relative path to the jar file. If you encounter any issues with the script not being able to find the correct file, use a direct path (full path) instead. |
-configRootDIR <PATH_TO_MAIN_FOLDER> | This optional parameter points to the main application folder (containing license and config folders). By default, server will use jar's location as its root directory. |
In order to start the server, just execute the start script file.
./srv/storm/scripts/startup.sh
chmod 775 /srv/storm/scripts/startup.sh
C:\Storm\scripts\startup_win.bat
There is also a pair of scripts for shutting server down
./srv/storm/scripts/shutdown.sh
C:\Storm\scripts\shutdown_win.bat