"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 
<[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: 2015,Monday, May 4 at 01:36
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>, CHEE SUN LIEW 
<[email protected]<mailto:[email protected]>>
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?

Reply via email to