Configure Basic Storm Parameters

The following configurations are required before you start using Storm. If you installed Storm using the MapR Installer, the following configurations are set automatically.

About this task

On each Storm node, define the following parameters in the storm.yaml file (located at /opt/mapr/storm/storm-<version>/conf):

Procedure

Add the following configurations to the storm.yaml.
Parameter Description Sample Value
storm.local.dir The directory on the local disk of each node where temporary files, topology-related JARs, and configuration files are stored. /opt/storm/local
storm.zookeeper.servers A list of the hosts in the Zookeeper cluster for your Storm cluster. This value can be specified as an IP address or as a hostname.

Format: "111.222.333.444"

"222.333.444.555"

or

"hostname1"

"hostname2"

WARNING:

The yaml format requires that multiple hostnames be listed on separate lines

storm.zookeeper.port The port your Zookeeper cluster uses. 5181
nimbus.host Identifies which node is the master, so the worker nodes can download topology JARs and configuration files.

Format: - "111.222.333.444"

or - "hostname"

supervisor.slots.ports

Defines which ports are open for use. Since each worker uses a single port for receiving messages, the number of ports you specify also corresponds to the number of workers on each worker node. Default settings are 6700, 6701, 6702, and 6703. Note that each port must be entered on a separate line.
ui.port The port used for the Storm UI. 8080
worker.childopts The JVM options provided to workers launched by this supervisor. All “%ID%” substrings are replaced with an identifier for this worker.
" -Dzookeeper.sasl.client=false -Djava.security.auth.login.config=/opt/mapr/conf/mapr.login.conf"
supervisor.childopts Used by the storm-deploy project to configure the JVM options for the supervisor daemon.
" -Dzookeeper.sasl.client=false -Djava.security.auth.login.config=/opt/mapr/conf/mapr.login.conf"

Example

The following example shows a storm.yaml configuration file with typical settings for running on MapR.

# Storm local directory (where JARs are kept)
  storm.local.dir: "/opt/storm/local"

 # ZooKeeper servers 

 storm.zookeeper.servers:
 - "localhost"
 # change localhost to actual IP addresses

 #Zookeeper port 
 # change default (2181) to 5181
   storm.zookeeper.port: 5181

 # Nimbus host 
   nimbus.host: "localhost"
 # change localhost to actual IP address for the master

 # Ports for slots
 # Each worker on this machine is assigned a port to use for communication
   supervisor.slots.ports:
 - 6700
 - 6701
 - 6702
 - 6703

 # Port for ui (on the master)
   ui.port: 8080 

 # Childopts for connecting to zookeeper

   worker.childopts: " -Dzookeeper.sasl.client=false -Djava.security.auth.login.config=/opt/mapr/conf/mapr.login.conf"
   supervisor.childopts: " -Dzookeeper.sasl.client=false -Djava.security.auth.login.config=/opt/mapr/conf/mapr.login.conf"