在风暴拓扑和工作者重启中获取与Netty客户端相关的错误

时间:2018-07-04 18:25:59

标签: apache-storm apache-storm-topology

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客户端[ERROR]丢弃7条消息,因为到Netty-Client- / ip:6700的Netty客户端已关闭

在主管日志中:

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

我看到herehere问了类似的问题,与此相关的查询很少:

  1. 为什么会出现此错误以及如何解决?
  2. 如何从Storm中获取更多调试信息,我已经设置了conf.setDebug(true)
  3. n个机器上的螺栓有多少并行性因素可以确定吗?

编辑:

gist中记录strace -fp PID -e trace=read,write,network,signal,ipc。一些相关的外观部分是何时发生上述情况,但是我在strace输出中看到了SIGSEGV这样的很多地方:

[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

工作进程的跟踪输出为here,相关的日志在这里:

[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:

也有一个问题:Connection refused error in worker logs - apache storm:作为答案,未设置storm.local.hostname可能会导致它,但是已经为我设置了。

here提交了另一个错误,该错误具有类似的净额错误,但仍未解决。

0 个答案:

没有答案