File README.SUSE of Package storm
SUSE Specific Changes
=====================
When packaging Storm we made the following changes:
* Storm executables and binaries reside in __LIBDIR__/storm. The following
executables are symlinked to __BINDIR__:
* storm
* flight.bash
* Most configuration resides in __CONFDIR__. The log4j configuration is the
sole exception, since it is unlikely to need changing. It continues to reside
in __LIBDIR__/storm/log4j2.
* There is a systemd unit for every Storm service. You will find them in the
following packages:
=====================+========================================
Package name | Service name
=====================+========================================
storm-logviewer | storm-logviewer
---------------------+----------------------------------------
storm-nimbus | storm-nimbus
---------------------+----------------------------------------
storm-pacemaker | storm-pacemaker
---------------------+----------------------------------------
storm-supervisor | storm-supervisor
---------------------+----------------------------------------
storm-ui | storm-ui
---------------------+----------------------------------------
storm-zookeeper | storm-zookeeper
---------------------+----------------------------------------
* We changed the following default settings to conform to the
File System Hierarchy Standard:
=====================+========================================
Setting | Value
=====================+========================================
storm.local.dir | __LOCALDIR__
---------------------+----------------------------------------
storm.log.dir | __LOGDIR__
---------------------+----------------------------------------
dev.zookeeper.path | __ZKDIR__
---------------------+----------------------------------------
While you can do so, we recommend not overriding these settings in
storm.yaml. If you do override them anyway, please make sure they all point
to directories writable by the storm user.
Setting up a single node cluster
================================
Note: this section only covers the SUSE specific steps in setting up a single
node Storm cluster for testing/development. Please refer to the upstream
documentation at
https://storm.apache.org/releases/1.0.2/Setting-up-a-Storm-cluster.html
for details not covered here.
Prerequisites
-------------
Your system needs a fully qualified domain name, otherwise some Storm services
will fail to start. If you do not have a proper FQDN, just enter your IP
address with a made up FQDN in /etc/hosts to set one.
Installing packages
-------------------
First of all, you need to ensure you have the packages for Storm's component
services installed. Since you are reading this document we'll assume you
already have the storm main package installed. Beyond that,
zypper install storm-nimbus storm-supervisor storm-zookeeper
is the minimum you'll need to install to get your cluster going. Optionally,
zypper install storm-logviewer storm-pacemaker storm-ui
will install the remaining services (you won't need these for a minimum
cluster).
Enabling services
-----------------
Once you've got your packages installed, enable the services for a minimum
cluster:
systemctl enable storm-zookeeper
systemctl enable storm-nimbus
systemctl enable storm-supervisor
Starting your cluster
---------------------
First of all, start a single-node Zookeeper cluster for storm to use:
systemctl start storm-zookeeper
This is required by both storm-nimbus and storm-supervisor. They need a working
Zookeeper cluster.
Next, start your cluster master service (Nimbus):
systemctl start storm-nimbus
Finally, start the Storm supervisor (which will in turn spawn worker
processes), issue a
systemctl start storm-supervisor
Troubleshooting
---------------
You will find logs for all Storm services in /var/log/storm. Some services
(e.g. storm-logviewer) may have multiple log files.