Node.js Docker由Storm 0.10.0和Zookeeper组成(连接中断)
部署了以下体系结构:Node.js Docker由Storm 0.10.0和Zookeeper组成(连接中断),node.js,docker,apache-kafka,apache-storm,apache-zookeeper,Node.js,Docker,Apache Kafka,Apache Storm,Apache Zookeeper,部署了以下体系结构: Apache Kafka和Zookeeper在docker容器中: Storm(Nimbus、Supervisor、UI)使用以下图像: 使用以下“docker compose.yml” # A scalable cache # saves data to ./data/mongo mongo: image: mongo:3.0 container_name: "mongo" volumes: - "./data/mon
# A scalable cache
# saves data to ./data/mongo
mongo:
image: mongo:3.0
container_name: "mongo"
volumes:
- "./data/mongo:/data/db"
ports:
- "27017:27017"
# Kafka (A scalable queue) + Zookeeper (Distributed conf. service)
# as of 2015.11 -- kafka:0.8.2.1, zookeeper:3.4.5+dfsg-2
kzk:
image: eucm/kzk
container_name: "kzk"
volumes:
- "./data/zookeeper:/var/lib/zookeeper"
- "./data/kafka:/tmp/kafka-logs"
environment:
- ADVERTISED_HOST=localhost
- AUTO_CREATE_TOPICS=true
- DELETE_TOPICS=true
ports:
- "9092:9092"
- "2181:2181"
# nimbus: supervises everything; talks to zookeeper
# in e-ucm/dockerized-storm -- storm:0.10.0
# requires: kzk
nimbus:
image: eucm/storm-nimbus
container_name: "nimbus"
environment:
- KZK_PORT_2181_TCP_ADDR=kzk
- NIMBUS_PORT_6627_TCP_ADDR=nimbus
- UI_PORT_8081_TCP_ADDR=ui
ports:
- "6627:6627"
# ui: allows access to logs
# in e-ucm/dockerized-storm -- storm:0.10.0
# requires: nimbus, kzk
ui:
image: eucm/storm-ui
container_name: "ui"
environment:
- KZK_PORT_2181_TCP_ADDR=kzk
- NIMBUS_PORT_6627_TCP_ADDR=nimbus
- UI_PORT_8081_TCP_ADDR=ui
ports:
- "8081:8081"
# supervisor: supervises actual workers
# in e-ucm/dockerized-storm -- storm:0.10.0
# requires: nimbus, kzk, mongo
supervisor:
image: eucm/storm-supervisor
container_name: "supervisor"
environment:
- KZK_PORT_2181_TCP_ADDR=kzk
- NIMBUS_PORT_6627_TCP_ADDR=nimbus
- UI_PORT_8081_TCP_ADDR=ui
ports:
- "6700:6700"
- "6701:6701"
- "6702:6702"
- "6703:6703"
我们还使用NodeJS和kafka节点包()创建一个名为“sessionTest”的主题
我将这个拓扑()从主机发送给Storm。使用以下命令:
/home/dan/storm-test/storm/apache-storm-0.10.0/bin/storm jar /home/dan/storm-test/realtime-jar-with-dependencies.jar es.eucm.gleaner.realtime.RealTime sessionTest mongodb://localhost:27017/analytics-backend-test localhost:2181 -c nimbus.host=localhost
过了一会儿,通过查看Storm workers日志(在主管图像中),我们看到以下错误
2016-03-30 09:30:05.984 b.s.d.worker [INFO] Shutting down worker sessionTest-3-1459329789 2c94d927-2341-4649-bee6-b0bb13f2706f 6700
2016-03-30 09:30:05.985 b.s.d.worker [INFO] Shutting down receive thread
2016-03-30 09:30:06.006 b.s.m.n.Client [INFO] creating Netty Client, connecting to supervisor:6700, bufferSize: 5242880
2016-03-30 09:30:06.009 b.s.m.loader [INFO] Shutting down receiving-thread: [sessionTest-3-1459329789, 6700]
2016-03-30 09:30:06.009 b.s.m.n.Client [INFO] closing Netty Client Netty-Client-supervisor/172.20.0.5:6700
2016-03-30 09:30:06.009 b.s.m.n.Client [INFO] waiting up to 600000 ms to send 0 pending messages to Netty-Client-supervisor/172.20.0.5:6700
2016-03-30 09:30:06.009 b.s.m.loader [INFO] Waiting for receiving-thread:[sessionTest-3-1459329789, 6700] to die
2016-03-30 09:30:06.010 b.s.m.loader [INFO] Shutdown receiving-thread: [sessionTest-3-1459329789, 6700]
2016-03-30 09:30:06.010 b.s.d.worker [INFO] Shut down receive thread
2016-03-30 09:30:06.010 b.s.d.worker [INFO] Terminating messaging context
2016-03-30 09:30:06.010 b.s.d.worker [INFO] Shutting down executors
2016-03-30 09:30:06.011 b.s.d.executor [INFO] Shutting down executor $spoutcoord-spout0:[2 2]
2016-03-30 09:30:06.011 b.s.util [INFO] Async loop interrupted!
2016-03-30 09:30:06.789 b.s.util [ERROR] Async loop died!
java.lang.RuntimeException: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /brokers/topics/sessionTest/partitions
at storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:81) ~[stormjar.jar:?]
at storm.kafka.trident.ZkBrokerReader.<init>(ZkBrokerReader.java:42) ~[stormjar.jar:?]
at storm.kafka.KafkaUtils.makeBrokerReader(KafkaUtils.java:57) ~[stormjar.jar:?]
at storm.kafka.trident.Coordinator.<init>(Coordinator.java:33) ~[stormjar.jar:?]http://e-ucm.github.io/a2/#api-Login-Login
at storm.kafka.trident.OpaqueTridentKafkaSpout.getCoordinator(OpaqueTridentKafkaSpout.java:46) ~[stormjar.jar:?]
at storm.trident.spout.OpaquePartitionedTridentSpoutExecutor$Coordinator.<init>(OpaquePartitionedTridentSpoutExecutor.java:44) ~[storm-core-0.10.0.jar:0.10.0]
at storm.trident.spout.OpaquePartitionedTridentSpoutExecutor.getCoordinator(OpaquePartitionedTridentSpoutExecutor.java:183) ~[storm-core-0.10.0.jar:0.10.0]
at storm.trident.topology.MasterBatchCoordinator.open(MasterBatchCoordinator.java:113) ~[storm-core-0.10.0.jar:0.10.0]
at backtype.storm.daemon.executor$fn__5624$fn__5639.invoke(executor.clj:564) ~[storm-core-0.10.0.jar:0.10.0]
at backtype.storm.util$async_loop$fn__545.invoke(util.clj:477) [storm-core-0.10.0.jar:0.10.0]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45-internal]
Caused by: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /brokers/topics/sessionTest/partitions
at storm.kafka.DynamicBrokersReader.getNumPartitions(DynamicBrokersReader.java:94) ~[stormjar.jar:?]
at storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:65) ~[stormjar.jar:?]
... 11 more
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /brokers/topics/sessionTest/partitions
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) ~[stormjar.jar:?]
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) ~[stormjar.jar:?]
at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1590) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:214) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:203) ~[stormjar.jar:?]
at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl.pathInForeground(GetChildrenBuilderImpl.java:199) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:191) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:38) ~[stormjar.jar:?]
at storm.kafka.DynamicBrokersReader.getNumPartitions(DynamicBrokersReader.java:91) ~[stormjar.jar:?]
at storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:65) ~[stormjar.jar:?]
... 11 more
2016-03-30 09:30:06.794 b.s.d.executor [ERROR]
java.lang.RuntimeException: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /brokers/topics/sessionTest/partitions
at storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:81) ~[stormjar.jar:?]
at storm.kafka.trident.ZkBrokerReader.<init>(ZkBrokerReader.java:42) ~[stormjar.jar:?]
at storm.kafka.KafkaUtils.makeBrokerReader(KafkaUtils.java:57) ~[stormjar.jar:?]
at storm.kafka.trident.Coordinator.<init>(Coordinator.java:33) ~[stormjar.jar:?]
at storm.kafka.trident.OpaqueTridentKafkaSpout.getCoordinator(OpaqueTridentKafkaSpout.java:46) ~[stormjar.jar:?]
at storm.trident.spout.OpaquePartitionedTridentSpoutExecutor$Coordinator.<init>(OpaquePartitionedTridentSpoutExecutor.java:44) ~[storm-core-0.10.0.jar:0.10.0]
at storm.trident.spout.OpaquePartitionedTridentSpoutExecutor.getCoordinator(OpaquePartitionedTridentSpoutExecutor.java:183) ~[storm-core-0.10.0.jar:0.10.0]
at storm.trident.topology.MasterBatchCoordinator.open(MasterBatchCoordinator.java:113) ~[storm-core-0.10.0.jar:0.10.0]
at backtype.storm.daemon.executor$fn__5624$fn__5639.invoke(executor.clj:564) ~[storm-core-0.10.0.jar:0.10.0]
at backtype.storm.util$async_loop$fn__545.invoke(util.clj:477) [storm-core-0.10.0.jar:0.10.0]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45-internal]
Caused by: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /brokers/topics/sessionTest/partitions
at storm.kafka.DynamicBrokersReader.getNumPartitions(DynamicBrokersReader.java:94) ~[stormjar.jar:?]
at storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:65) ~[stormjar.jar:?]
... 11 more
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /brokers/topics/sessionTest/partitions
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) ~[stormjar.jar:?]
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) ~[stormjar.jar:?]
at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1590) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:214) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:203) ~[stormjar.jar:?]
at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl.pathInForeground(GetChildrenBuilderImpl.java:199) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:191) ~[stormjar.jar:?]
at org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:38) ~[stormjar.jar:?]
at storm.kafka.DynamicBrokersReader.getNumPartitions(DynamicBrokersReader.java:91) ~[stormjar.jar:?]
at storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:65) ~[stormjar.jar:?]
... 11 more
2016-03-30 09:30:06.805 b.s.util [ERROR] Halting process: ("Worker died")
java.lang.RuntimeException: ("Worker died")
at backtype.storm.util$exit_process_BANG_.doInvoke(util.clj:336) [storm-core-0.10.0.jar:0.10.0]
at clojure.lang.RestFn.invoke(RestFn.java:423) [clojure-1.6.0.jar:?]
at backtype.storm.daemon.worker$fn__7188$fn__7189.invoke(worker.clj:536) [storm-core-0.10.0.jar:0.10.0]
at backtype.storm.daemon.executor$mk_executor_data$fn__5523$fn__5524.invoke(executor.clj:261) [storm-core-0.10.0.jar:0.10.0]
at backtype.storm.util$async_loop$fn__545.invoke(util.clj:489) [storm-core-0.10.0.jar:0.10.0]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45-internal]
2016-03-30 09:30:05.984 b.s.d.工人[信息]关闭工人会话测试-3-1459329789 2c94d927-2341-4649-bee6-b0bb13f2706f 6700
2016-03-30 09:30:05.985 b.s.d.工人[信息]正在关闭接收线程
2016-03-30 09:30:06.006 b.s.m.n.Client[信息]创建Netty客户端,连接到主管:6700,缓冲区大小:5242880
2016-03-30 09:30:06.009 b.s.m.loader[信息]关闭接收线程:[会话测试-3-14593297896700]
2016-03-30 09:30:06.009 b.s.m.n.客户[信息]结清净客户净客户主管/172.20.0.5:6700
2016-03-30 09:30:06.009 b.s.m.n.客户[信息]等待600000毫秒,向Netty客户主管发送0条未决消息/172.20.0.5:6700
2016-03-30 09:30:06.009 b.s.m.loader[INFO]等待接收线程[sessionTest-3-14593297896700]死亡
2016-03-30 09:30:06.010 b.s.m.loader[信息]关机接收线程:[会话测试-3-14593297896700]
2016-03-30 09:30:06.010 b.s.d.工人[信息]关闭接收线程
2016-03-30 09:30:06.010 b.s.d.worker[信息]终止消息上下文
2016-03-30 09:30:06.010 b.s.d.工人[信息]关闭执行器
2016-03-30 09:30:06.011 b.s.d.执行人[信息]关闭执行人$spoutcord-spout0:[2]
2016-03-30 09:30:06.011 b.s.util[INFO]异步循环中断!
2016-03-30 09:30:06.789 b.s.util[ERROR]异步循环死机!
java.lang.RuntimeException:java.lang.RuntimeException:org.apache.zookeeper.KeeperException$ConnectionLossException:KeeperErrorCode=ConnectionLoss for/brokers/topics/sessionTest/partitions
在storm.kafka.dynamicbrokerreader.getBrokerInfo(dynamicbrokerreader.java:81)~[stormjar.jar:?]
在storm.kafka.trident.ZkBrokerReader.(ZkBrokerReader.java:42)~[stormjar.jar:?]
在storm.kafka.KafkaUtils.makeBrokerReader(KafkaUtils.java:57)~[stormjar.jar:?]
在storm.kafka.trident.Coordinator.(Coordinator.java:33)~[stormjar.jar:?]http://e-ucm.github.io/a2/#api-登录
在storm.kafka.trident.opaquetridentkafkafkaspout.getCoordinator(OpaqueTridentKafkaSpout.java:46)~[stormjar.jar:?]
在storm.trident.spoot.opaquepartitionedtridentspootexecutor$协调器处。(opaquepartitionedtridentspootexecutor.java:44)~[storm-core-0.10.0.jar:0.10.0]
在storm.trident.spoot.opaQuePartitionedTridentSpootExecutor.getCoordinator(opaQuePartitionedTridentSpootExecutor.java:183)~[storm-core-0.10.0.jar:0.10.0]
打开(MasterBatchCoordinator.java:113)~[storm-core-0.10.0.jar:0.10.0]
在backtype.storm.daemon.executor$fn\u 5624$fn\u 5639.invoke(executor.clj:564)~[storm-core-0.10.0.jar:0.10.0]
在backtype.storm.util$async\u循环$fn\uu 545.invoke(util.clj:477)[storm-core-0.10.0.jar:0.10.0]
在clojure.lang.AFn.run(AFn.java:22)[clojure-1.6.0.jar:?]
在java.lang.Thread.run(Thread.java:745)[?:1.8.0_45-internal]
原因:java.lang.RuntimeException:org.apache.zookeeper.KeeperException$ConnectionLossException:KeeperErrorCode=ConnectionLoss for/brokers/topics/sessionTest/partitions
在storm.kafka.dynamicBrokerReader.getNumPartitions(dynamicBrokerReader.java:94)~[stormjar.jar:?]
在storm.kafka.dynamicbrokerreader.getBrokerInfo(dynamicbrokerreader.java:65)~[stormjar.jar:?]
... 还有11个
原因:org.apache.zookeeper.KeeperException$ConnectionLossException:KeeperErrorCode=ConnectionLoss for/brokers/topics/sessionTest/partitions
在org.apache.zookeeper.keeprexception.create(keeprexception.java:99)~[stormjar.jar:?]
在org.apache.zookeeper.keeprexception.create(keeprexception.java:51)~[stormjar.jar:?]
在org.apache.zookeeper.zookeeper.getChildren(zookeeper.java:1590)~[stormjar.jar:?]
在org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:214)~[stormjar.jar:?]
在org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:203)~[stormjar.jar:?]
在org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107)~[stormjar.jar:?]
在org.apache.curator.framework.imps.GetChildrenBuilderImpl.pathInForeground(GetChildrenBuilderImpl.java:199)~[stormjar.jar:?]
在org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:191)~[stormjar.jar:?]
在org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:38)~[stormjar.jar:?]
在storm.kafka.dynamicBrokerReader.getNumPartitions(dynamicBrokerReader.java:91)~[stormjar.jar:?]
在storm.kafka.dynamicbrokerreader.getBrokerInfo(dynamicbrokerreader.java:65)~[stormjar.jar:?]
... 还有11个
2016-03-30 09:30:06.794 b.s.d.执行人[错误]
java.lang.RuntimeException:java.lang.RuntimeException:org.apache.zookeeper.KeeperException$ConnectionLossException:KeeperErrorCode=ConnectionLoss for/brokers/topics/sessionTest/partitions
在storm.kafka.dynamicbrokerreader.getBrokerInfo(dynamicbrokerreader.java:81)~[stormjar.jar:?]
在storm.kafka.trident.ZkBrokerReader.(ZkBrokerReader.java:42)~[stormjar.jar:?]
在storm.kafka.KafkaUtils.makeBrokerReader(KafkaUtils.java:57)~[stormjar.jar:?]
在storm.kafka.trident.Coordinator.(Coordinator.java:33)~[stormjar.jar:?]
在storm.kafka.trident.opaquetridentkafkafkaspout.getCoordinator(OpaqueTridentKafkaSpout.java:46)~[stormjar.jar:?]
在暴风雨中。三叉戟。喷口。不透明分区。第三喷口执行器$协调器。(不透明)