Я использую 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