I'm following
http://jayatiatblogs.blogspot.com/2011/11/storm-installation.html to try
configuring Apache Storm remote cluster using few virtual machine (EC2)
with Ubuntu 14.04 LTS on Amazon Web Services.
My master node is 10.0.0.230, my slave node is 10.0.0.79. My zookeeper
reside in my master node. When I use ***storm jar
storm-starter-0.9.4-jar-with-dependencies.jar storm.starter.RollingTopWords
production-topology remote*** in master node, the message below appear,
indicating it is successfully submitted:
339 [main] INFO storm.starter.RollingTopWords - Topology name:
production-topology
377 [main] INFO storm.starter.RollingTopWords - Running in remote
(cluster) mode
651 [main] INFO backtype.storm.StormSubmitter - Jar not uploaded to
master yet. Submitting jar...
655 [main] INFO backtype.storm.StormSubmitter - Uploading topology
jar storm-starter-0.9.4-jar-with-dependencies.jar to assigned location:
/home/ubuntu/storm/data/nimbus/inbox/stormjar-380bb1a2-1699-4ad1-8341-3d4b92c14764.jar
672 [main] INFO backtype.storm.StormSubmitter - Successfully uploaded
topology jar to assigned location:
/home/ubuntu/storm/data/nimbus/inbox/stormjar-380bb1a2-1699-4ad1-8341-3d4b92c14764.jar
672 [main] INFO backtype.storm.StormSubmitter - Submitting topology
production-topology in distributed mode with conf {"topology.debug":true}
714 [main] INFO backtype.storm.StormSubmitter - Finished submitting
topology: production-topology
The Stoum UI & ***storm list*** command show that the topology is active:
Topology_name Status Num_tasks Num_workers Uptime_secs
-------------------------------------------------------------------
production-topology ACTIVE 0 0 59
However, in the *Cluster Summary* of Storm UI, there is 0 supervisor, 0
used slots, 0 free slots, 0 executors & 0 tasks. In the *Topology
Configuration*, the **supervisor.slots.ports** show that it uses the
default supervisor slot ports of the master node, instead of the supervisor
slot ports of the slave node.
Below are my **zoo.cfg** of my master node:
tickTime=2000
dataDir=/home/ubuntu/zookeeper-data
clientPort=2181
The **storm.yaml** of my master node:
storm.zookeeper.servers:
- "10.0.0.230"
storm.zookeeper.port: 2181
nimbus.host: "localhost"
nimbus.thrift.port: 6627
nimbus.task.launch.secs: 240
supervisor.worker.start.timeout.secs: 240
supervisor.worker.timeout.secs: 240
storm.local.dir: "/home/ubuntu/storm/data"
java.library.path: "/usr/lib/jvm/java-7-oracle"
The **storm.yaml** of my slave node:
storm.zookeeper.server:
- "10.0.0.230"
storm.zookeeper.port: 2181
nimbus.host: "10.0.0.230"
nimbus.thrift.port: 6627
storm.local.dir: "/home/ubuntu/storm/data"
java.library.path: "/usr/lib/jvm/java-7-oracle"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
- 6704
I had use ***zkCli.sh -server 10.0.0.230:2181*** to connect to the
zookeeper at the master node, it works fine:
2015-05-04 03:40:20,866 [myid:] - INFO [main:ZooKeeper@438] -
Initiating client connection, connectString=10.0.0.230:2181
sessionTimeout=30000
watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@63f78dde
2015-05-04 03:40:20,888 [myid:] - INFO [main-SendThread(10.0.0.230:2181
):ClientCnxn$SendThread@975] - Opening socket connection to server
10.0.0.230/10.0.0.230:2181. Will not attempt to authenticate using SASL
(unknown error)
Welcome to ZooKeeper!
2015-05-04 03:40:20,900 [myid:] - INFO [main-SendThread(10.0.0.230:2181
):ClientCnxn$SendThread@852] - Socket connection established to
10.0.0.230/10.0.0.230:2181, initiating session
JLine support is enabled
2015-05-04 03:40:20,918 [myid:] - INFO [main-SendThread(10.0.0.230:2181
):ClientCnxn$SendThread@1235] - Session establishment complete on server
10.0.0.230/10.0.0.230:2181, sessionid = 0x14d1ca1ab73001c, negotiated
timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: 10.0.0.230:2181(CONNECTED) 0]
So, why in the *Cluster Summary* of Storm UI, there is 0 supervisor, 0 used
slots, 0 free slots, 0 executors & 0 tasks ?
Why it uses the supervisor slot ports of the master node, instead of the
slave node?
When I click the **production-topology** in the *Topology Summary* of Storm
UI, there is 0 Num workers, 0 Num executors, 0 Num tasks?
Why there is no info display for Spouts & Bolts?