设置Apache Storm并尝试列出正在运行的拓扑

时间:2015-06-03 20:22:39

标签: java apache-storm apache-zookeeper

我很难设置Apache Storm。我目前有3台服务器在本地工作但不能远程工作。当我运行nimbus或supervisor来设置服务器时,它们无限期地运行(我不确定这是否应该是这种情况)。我在我的nimbus服务器上设置了Zookeeper,它看起来像下面的

########### These MUST be filled in for a storm configuration
    storm.zookeeper.servers:
 - "192.168.2.106"
 # - "192.168.2.105"
 # - "192.168.2.102"

 storm.local.dir: "/home/scix3/apache/storm/data"

 nimbus.host: "192.168.2.106"
 #

我只有Zookeeper的实例(在nimbus上)。我的两个管理服务器上的配置文件如下:

########### These MUST be filled in for a storm configuration
storm.zookeeper.servers:
 - "192.168.2.106"
 - "192.168.2.105"
 - "192.168.2.102"
#
nimbus.host: "192.168.2.106"
storm.local.dir: "/home/scix3/apache/storm/data"
supervisor.slots.ports:
 - 6700
 - 6701
 - 6702
 - 6703

当我运行命令$ storm list时,我收到一条消息,指出没有任何机器连接。我不明白为什么,因为我认为我的配置文件是正确的。这是错误消息

  

854 [main] INFO backtype.storm.thrift - 在localhost连接到Nimbus:6627   线程“main”中的异常org.apache.thrift7.transport.TTransportException:java.net.ConnectException:拒绝连接

1 个答案:

答案 0 :(得分:0)

这些是我遵循的步骤:

  • 在主管配置文件中注释掉2个额外的zookeeper服务器(你说你只有一个,与nimbus相同的配置)
  • 检查(或在测试时停止测试)所有主机的防火墙
  • 按顺序停止所有内容并开始:
    1. 动物园管理员
    2. 雨云
    3. UI
    4. 主管(S)
  • 检查用户界面,你应该看到那里的主管
  • 从nimbus主机,执行storm list(现在它应该可以工作)(它也可以在任何主管主机上运行)
  • 如果要从任何其他位置使用CLI,则应至少配置该计算机的storm配置文件中的nimbus.host IP

附加说明:当您执行storm nimbus|supervisor|ui时, 应该无限期地运行。但是,因为它们是无状态服务,所以你应该使用任何" daemonizer" (守护进程,监督,......;选择一个)如果因任何原因停止/崩溃将重启它们。