You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by Chun Yuen Lim <li...@siswa.um.edu.my> on 2015/05/04 08:36:14 UTC
Unable to use remote slave node in Apache Storm cluster
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?
Re: Unable to use remote slave node in Apache Storm cluster
Posted by Chun Yuen Lim <li...@siswa.um.edu.my>.
Sorry I didn't make my statement clear. Before I removed my strom.yaml, the
slave node already looking for zookeeper on local host, although in my
storm.yaml, the storm.zookeeper.server is pointing to my master node, which
mean that is actually my storm.yaml didn't overwrite the default conf for
the zookeeper node.
storm.zookeeper.server:
- "10.0.0.230"
storm.zookeeper.port: 2181
Re: Unable to use remote slave node in Apache Storm cluster
Posted by bhargav sarvepalli <bo...@gmail.com>.
storm.yaml overriedes the default conf, so if you remove it must be looking
for a zookeeper on local host
On Thu, May 7, 2015 at 3:18 PM, Chun Yuen Lim <li...@siswa.um.edu.my>
wrote:
> I had updated the supervisor log of slave node in below:
>
> http://stackoverflow.com/questions/30022525/unable-to-use-remote-slave-node-in-apache-storm-cluster
>
>
> As mentioned, the supervisor of slave node didn't register itself to the
> zookeeper of the master node, instead, it register itself at its own,
> 127.0.0.1:2181. aAlthough I had remove the zookeeper and also the
> storm.yaml for the slave node, the same problem arise as if there is a
> default storm.yaml running when there is no storm.yaml in storm/conf.
>
Re: Unable to use remote slave node in Apache Storm cluster
Posted by Chun Yuen Lim <li...@siswa.um.edu.my>.
I had updated the supervisor log of slave node in below:
http://stackoverflow.com/questions/30022525/unable-to-use-remote-slave-node-in-apache-storm-cluster
As mentioned, the supervisor of slave node didn't register itself to the
zookeeper of the master node, instead, it register itself at its own,
127.0.0.1:2181. aAlthough I had remove the zookeeper and also the
storm.yaml for the slave node, the same problem arise as if there is a
default storm.yaml running when there is no storm.yaml in storm/conf.
Re: Unable to use remote slave node in Apache Storm cluster
Posted by Jeff Maass <JM...@cccis.com>.
"0 free slots”
explains why there are no workers.
I would start by removing references to “localhost” to use the external ip.
It sounds to me like you have guessed what I did, that your supervisor node is not connecting to the cluster. What do the logs of your supervisor instance on 10.0.0.79 show? Perhaps there are some errors that will get you started on the path to getting your node connected.
From: Chun Yuen Lim <li...@siswa.um.edu.my>>
Reply-To: "user@storm.apache.org<ma...@storm.apache.org>" <us...@storm.apache.org>>
Date: 2015,Monday, May 4 at 01:36
To: "user@storm.apache.org<ma...@storm.apache.org>" <us...@storm.apache.org>>, CHEE SUN LIEW <cs...@um.edu.my>>
Subject: Unable to use remote slave node in Apache Storm cluster
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<http://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<http://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<http://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<http://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?