Ошибки соединения Netty-клиента между рабочими узлами Apache Storm - PullRequest
0 голосов
/ 05 июля 2018

Я использую Apache Storm с Nimbus, настроенным на одном узле, и двумя супервизорами, настроенными на двух других узлах. После запуска топологии (с работниками = 2) она работает неправильно. В рабочих журналах одного из узлов супервизора я вижу следующие ошибки:

2018-07-04 17:36:02.650 o.a.s.m.n.Client client-boss-1 [ERROR] connection attempt 1 to Netty-Client-hostname/X.X.X.X:6700 failed: org.apache.storm.shade.org.jboss.netty.channel.ConnectTimeoutException: connection timed out: hostname/X.X.X.X:6700

На другом рабочем узле я вижу следующую ошибку: 2018-07-04 17:34:11.344 o.a.s.m.n.Client client-boss-1 [ERROR] connection attempt 3 to Netty-Client-hostname1/X.X.X.X:6700 failed: java.net.ConnectException: Connection refused: hostname1/X.X.X.X:6700

Других ошибок в журналах рабочих нет. Если я заменю одного из этих работников другим работником (в той же подсети), топология работает отлично. Из-за этого проблема, похоже, связана с соединением между двумя рабочими узлами. Однако файл / etc / hosts настроен правильно (так же, как и для работника, который в сочетании с одним из них работает правильно), и оба работника могут связаться друг с другом (ping / ssh). Связь между нимбом и этими работниками в порядке (топология с работниками = 1 работает на каждом из этих работников).

Я сейчас не уверен, в чем может быть проблема здесь. Любая помощь приветствуется.

EDIT:

Потратив много времени на выяснение этого, я узнал, что соединения на порту 6700 не разрешены на рабочем узле. Я отредактировал iptables, чтобы разрешить входящие tcp-соединения через порт. Рабочие журналы все еще показывают некоторые ошибки соединения netty, но теперь, по крайней мере, топология работает нормально.

sudo iptables -A INPUT -p tcp --dport 6700 -j ACCEPT

...