Развертывание StormCrawler /StormTopology на удаленном кластере: ошибка сети при получении Nimbus Leader
Я хотел развернуть топологию StormCrawler на удаленном сервере с помощью команды
storm jar target/spikeStormCrawler-1.0-SNAPSHOT.jar org.apache.storm.flux.Flux --remote es-crawler.flux --filter prod.properties -c 'nimbus.seeds=["172.18.20.118"]'
Делая это, я получаю следующее сообщение об ошибке
--------------------------------------
974 [main] INFO o.a.s.f.Flux - Running remotely...
974 [main] INFO o.a.s.f.Flux - Deploying topology in an ACTIVE state...
1006 [main] INFO o.a.s.StormSubmitter - Generated ZooKeeper secret payload for MD5-digest: -5226371416121364046:-8822431839996095155
1147 [main] INFO o.a.s.u.NimbusClient - Found leader nimbus : BP2017N2WS04:6627
12208 [main] WARN o.a.s.u.StormBoundedExponentialBackoffRetry - WILL SLEEP FOR 2001ms (NOT MAX)
35960 [main] WARN o.a.s.u.StormBoundedExponentialBackoffRetry - WILL SLEEP FOR 2003ms (NOT MAX)
47240 [main] WARN o.a.s.u.StormBoundedExponentialBackoffRetry - WILL SLEEP FOR 2005ms (NOT MAX)
55586 [main] WARN o.a.s.u.StormBoundedExponentialBackoffRetry - WILL SLEEP FOR 2013ms (NOT MAX)
66848 [main] WARN o.a.s.u.StormBoundedExponentialBackoffRetry - WILL SLEEP FOR 2030ms (NOT MAX)
82344 [main] WARN o.a.s.u.NimbusClient - Ignoring exception while trying to get leader nimbus info from 172.18.20.118. will retry with a different seed host.
java.lang.RuntimeException: java.lang.RuntimeException: org.apache.storm.thrift.transport.TTransportException: java.net.SocketException: Network is unreachable (connect failed)
at org.apache.storm.security.auth.ThriftClient.reconnect(ThriftClient.java:112) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.security.auth.ThriftClient.<init>(ThriftClient.java:73) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.utils.NimbusClient.<init>(NimbusClient.java:136) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.utils.NimbusClient.getConfiguredClientAs(NimbusClient.java:103) [storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.utils.NimbusClient.getConfiguredClientAs(NimbusClient.java:66) [storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.utils.NimbusClient.getConfiguredClient(NimbusClient.java:58) [storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.blobstore.NimbusBlobStore.prepare(NimbusBlobStore.java:268) [storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.StormSubmitter.getListOfKeysFromBlobStore(StormSubmitter.java:595) [storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.StormSubmitter.validateConfs(StormSubmitter.java:561) [storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.StormSubmitter.submitTopologyAs(StormSubmitter.java:207) [storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.StormSubmitter.submitTopology(StormSubmitter.java:387) [storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.flux.Flux.runCli(Flux.java:171) [spikeStormCrawler-1.0-SNAPSHOT.jar:?]
at org.apache.storm.flux.Flux.main(Flux.java:98) [spikeStormCrawler-1.0-SNAPSHOT.jar:?]
Caused by: java.lang.RuntimeException: org.apache.storm.thrift.transport.TTransportException: java.net.SocketException: Network is unreachable (connect failed)
at org.apache.storm.security.auth.TBackoffConnect.retryNext(TBackoffConnect.java:64) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.security.auth.TBackoffConnect.doConnectWithRetry(TBackoffConnect.java:56) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.security.auth.ThriftClient.reconnect(ThriftClient.java:104) ~[storm-core-1.2.1.jar:1.2.1]
... 12 more
Caused by: org.apache.storm.thrift.transport.TTransportException: java.net.SocketException: Network is unreachable (connect failed)
at org.apache.storm.thrift.transport.TSocket.open(TSocket.java:226) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.thrift.transport.TFramedTransport.open(TFramedTransport.java:81) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.security.auth.SimpleTransportPlugin.connect(SimpleTransportPlugin.java:105) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.security.auth.TBackoffConnect.doConnectWithRetry(TBackoffConnect.java:53) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.security.auth.ThriftClient.reconnect(ThriftClient.java:104) ~[storm-core-1.2.1.jar:1.2.1]
... 12 more
Caused by: java.net.SocketException: Network is unreachable (connect failed)
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_162]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_162]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_162]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_162]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_162]
at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_162]
at org.apache.storm.thrift.transport.TSocket.open(TSocket.java:221) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.thrift.transport.TFramedTransport.open(TFramedTransport.java:81) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.security.auth.SimpleTransportPlugin.connect(SimpleTransportPlugin.java:105) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.security.auth.TBackoffConnect.doConnectWithRetry(TBackoffConnect.java:53) ~[storm-core-1.2.1.jar:1.2.1]
at org.apache.storm.security.auth.ThriftClient.reconnect(ThriftClient.java:104) ~[storm-core-1.2.1.jar:1.2.1]
... 12 more
Exception in thread "main" org.apache.storm.utils.NimbusLeaderNotFoundException: Could not find leader nimbus from seed hosts ["172.18.20.118"]. Did you specify a valid list of nimbus hosts for config nimbus.seeds?
at org.apache.storm.utils.NimbusClient.getConfiguredClientAs(NimbusClient.java:120)
at org.apache.storm.utils.NimbusClient.getConfiguredClientAs(NimbusClient.java:66)
at org.apache.storm.utils.NimbusClient.getConfiguredClient(NimbusClient.java:58)
at org.apache.storm.blobstore.NimbusBlobStore.prepare(NimbusBlobStore.java:268)
at org.apache.storm.StormSubmitter.getListOfKeysFromBlobStore(StormSubmitter.java:595)
at org.apache.storm.StormSubmitter.validateConfs(StormSubmitter.java:561)
at org.apache.storm.StormSubmitter.submitTopologyAs(StormSubmitter.java:207)
at org.apache.storm.StormSubmitter.submitTopology(StormSubmitter.java:387)
at org.apache.storm.flux.Flux.runCli(Flux.java:171)
at org.apache.storm.flux.Flux.main(Flux.java:98)
Я подозревал из-за сообщения об ошибке "Сеть недоступна", что это будет брандмауэр, но отключение брандмауэра на сервере не помогло и вызвало ту же проблему. Я также перезапустил там службу zookeeper, как предлагалось в других статьях Stackru. Странная часть здесь в том, что вначале кажется, что он находит лидера нимбов, но затем получает исключение.
Мой конфигурационный файл Storm на другом сервере:
storm.zookeeper.servers:
- "localhost"
# - "server2"
nimbus.host: "localhost"
nimbus.childopts: "-Xmx1024m -Djava.net.preferIPv4Stack=true"
ui.childopts: "-Xmx768m -Djava.net.preferIPv4Stack=true"
supervisor.childopts: "-Djava.net.preferIPv4Stack=true"
worker.childopts: "-Xmx768m -Djava.net.preferIPv4Stack=true"
storm.local.dir: "/app/storm"
Есть идеи, в чем может быть ошибка?