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 машин?
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, которая также до сих пор не устранена.