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.
openSUSE Build Service is sponsored by