Version Info:
"org.apache.storm" % "storm-core" % "1.2.1"
"org.apache.storm" % "storm-kafka-client" % "1.2.1"
我有一个带有 3 个螺栓(A、B、C)的风暴拓扑,其中中间螺栓平均耗时 450 毫秒,其他两个螺栓不到 1 毫秒。
我在两台机器上运行具有以下并行提示值的拓扑:
A: 4
B: 700
C: 10
拓扑启动几分钟后出现以下错误:
在工人日志中:
2018-07-04T20:16:28.835+05:30 客户端 [错误] 丢弃 7 条消息,因为 Netty 客户端到 Netty-Client-/ip:6700 正在关闭
在主管日志中:
2018-07-04 20:16:29.468 o.a.s.d.s.BasicContainer [INFO] Worker Process 32bc11c0-a1d0-4593-a91a-3ff788ea041a exited with code: 20
2018-07-04 20:16:31.592 o.a.s.d.s.Slot [WARN] SLOT 6700: main process has exited
2018-07-04 20:16:31.592 o.a.s.d.s.Container [INFO] Killing 2825cbe9-aedd-4f10-a796-4f9dc30ae72f:32bc11c0-a1d0-4593-a91a-3ff788ea041a
2018-07-04 20:16:31.600 o.a.s.u.Utils [INFO] Error when trying to kill 7422. Process is probably already dead.
2018-07-04 20:16:32.600 o.a.s.d.s.Slot [INFO] STATE RUNNING msInState: 391195 topo:myTopo-1-1530715184 worker:32bc11c0-a1d0-4593-a91a-3ff788ea041a -> KILL_AND_RELAUNCH msInState: 0 topo:myTopo-1-1530715184 worker:32bc11c0-a1d0-4593-a91a-3ff788ea041a
2018-07-04 20:16:32.600 o.a.s.d.s.Container [INFO] GET worker-user for 32bc11c0-a1d0-4593-a91a-3ff788ea041a
- 为什么会出现此错误以及如何解决?
- 如何从 Storm 中获取更多的调试信息,我已经设置好了
conf.setDebug(true)
- 对于 n 台机器上的螺栓,是否有一些限制/指导方针?
编辑:
记录strace -fp PID -e trace=read,write,network,signal,ipc
in gist。一些相关的外观部分是发生上述事情时,但是我SIGSEGV
在 strace 输出中看到了很多地方:
[pid 23635] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7f83af6f1180} ---
[pid 23549] <... read resumed> "PK\3\4\n\0\0\0\10\0\364J\336F\222'\202\312\310\2\0\0\16\5\0\0\36\0\0\0", 30) = 30
[pid 23654] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7f83af6f1f80} ---
[pid 23549] read(23, "\235TmW\22A\24~\6\224\227u\vE4\255,JR\300WP\322\0245TH\23\313\3j\347"..., 712) = 712
[pid 23654] rt_sigreturn({mask=[QUIT]}) = 140203560738688
[pid 23635] rt_sigreturn({mask=[QUIT]}) = 140203560735104
工作进程的 strace 输出在这里,相关的日志在这里:
[pid 24435] recvfrom(291, "HTTP/1.1 200 OK\r\nContent-Type: a"..., 8192, 0, NULL, NULL) = 544
[pid 23473] write(3, "Heap\n garbage-first heap total"..., 347) = 347
[pid 24434] +++ exited with 20 +++
[pid 24405] +++ exited with 20 +++
[pid 24435] +++ exited with 20 +++
[pid 24427] +++ exited with 20 +++
编辑2:
还有这个问题:工作日志中的连接被拒绝错误 - apache 风暴:作为标准答案,未设置storm.local.hostname
可能会导致它,但它已经为我设置了。
此处提交的另一个错误具有类似的网络错误,该错误也仍未解决。