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
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" |
|
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. |
|
supervisor.childopts
|
Used by the storm-deploy project to
configure the JVM options for the supervisor daemon. |
|
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"