Получение связанной с клиентом Netty ошибки в топологии шторма и перезапуске работника - PullRequest
0 голосов
/ 04 июля 2018
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

Я вижу похожий вопрос здесь и здесь , у меня есть несколько вопросов, связанных с этим:

  1. Почему появляется эта ошибка и как ее устранить?
  2. Как получить больше отладочной информации от Storm, я уже установил conf.setDebug(true)
  3. Существуют ли какие-то ограничения / рекомендации относительно того, насколько хорошо коэффициент параллелизма в порядке для болта на n машин?

Edit:

Журналы для 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

прямой выход рабочего процесса здесь , соответствующие журналы здесь:

[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 : в качестве ответа его установка не может быть установлена ​​storm.local.hostname, но она уже установлена ​​для меня.

Есть еще одна ошибка здесь с аналогичной ошибкой netty, которая также до сих пор не устранена.

...