首页 > 解决方案 > Apache Storm Supervisor 在运行拓扑时自动停止

问题描述

三台主机的/etc/hosts 的配置部分相同。

203.xx.xx.253 server0
203.xx.xx.254 server1
203.xx.xx.255 server2

动物园.cfg

dataDir=/home/xxx/zookeeper/data/`
server.0=server0:2888:3888
server.1=server1:2888:3888
server.2=server2:2888:3888

风暴.yaml

storm.zookeeper.servers:
     - “服务器0”
     - “服务器 1”
     - “服务器2”

nimbus.seeds: ["server0"]

storm.local.dir:“/home/xxx/storm/data”

测试步骤

  1. 在这三台主机上运行 zookeeper 服务器。测试 zookeeper 状态。那没问题。

  2. 在主机(server0)上运行风暴雨云。在主机(server0)上运行storm ui

  3. 在主机(server0、server1、server2)上运行storm supervisor

  4. 在 ui 页面中验证风暴状态。没关系。

  5. 提交拓扑,成功

  6. 大约 1 分钟后主管死了,有一个主管活着(server0)。

主管日志

2018-11-20 04:44:17.346 oasuNimbusClient 异步本地化程序 [警告] 使用已弃用的配置 nimbus.host 以实现向后兼容性。请更新您的storm.yaml,使其只有配置nimbus.seeds
2018-11-20 04:44:17.416 oasuNimbusClient 异步本地化器 [INFO] 找到领导者 nimbus:ubuntu:6627
...
2018-11-20 04:44:27.551 oasuNimbusClient Async Localizer [WARN] 尝试从 server0 获取领导者 nimbus 信息时忽略异常。将使用不同的种子宿主重试。
java.lang.RuntimeException:java.lang.RuntimeException:org.apache.storm.thrift.transport.TTransportException:java.net.UnknownHostException:ubuntu
...
2018-11-20 08:06:29.129 oaslAsyncLocalizer Async Localizer [WARN] 未能下载拓扑 ID hello02-1-1542719091 的基本资源
2018-11-20 08:06:29.129 oasdsAdvancedFSOps Async Localizer [INFO] 删除路径 /home/dragonlab/apache-storm-1.1.1/data/supervisor/tmp/bbca1ecb-60c2-4cb7-a98d-7d82ed6aa716
2018-11-20 08:06:29.139 oasdsAdvancedFSOps Async Localizer [INFO] 删除路径 /home/dragonlab/apache-storm-1.1.1/data/supervisor/stormdist/hello02-1-1542719091
2018-11-20 08:06:29.139 oaslAsyncLocalizer Async Localizer [WARN] 在下载(重新抛出)时捕获异常...
org.apache.storm.utils.NimbusLeaderNotFoundException:无法从种子主机 [server0] 中找到领导者 nimbus。您是否为配置 nimbus.seeds 指定了有效的 nimbus 主机列表?
    在 org.apache.storm.utils.NimbusClient.getConfiguredClientAs(NimbusClient.java:111) ~[storm-core-1.1.1.jar:1.1.1]
    在 org.apache.storm.utils.NimbusClient.getConfiguredClient(NimbusClient.java:57) ~[storm-core-1.1.1.jar:1.1.1]
    在 org.apache.storm.blobstore.NimbusBlobStore.prepare(NimbusBlobStore.java:268) ~[storm-core-1.1.1.jar:1.1.1]
    在 org.apache.storm.utils.Utils.getClientBlobStoreForSupervisor(Utils.java:538) ~[storm-core-1.1.1.jar:1.1.1]
    在 org.apache.storm.localizer.AsyncLocalizer$DownloadBaseBlobsDistributed.downloadBaseBlobs(AsyncLocalizer.java:121) ~[storm-core-1.1.1.jar:1.1.1]
    在 org.apache.storm.localizer.AsyncLocalizer$DownloadBaseBlobsDistributed.call(AsyncLocalizer.java:148) ~[storm-core-1.1.1.jar:1.1.1]
    在 org.apache.storm.localizer.AsyncLocalizer$DownloadBaseBlobsDistributed.call(AsyncLocalizer.java:101) ~[storm-core-1.1.1.jar:1.1.1]
    在 java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_191]
    在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191]
    在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191]
    在 java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
2018-11-20 08:06:29.140 oasdsSlot SLOT_6705 [错误] 处理事件时出错
java.util.concurrent.ExecutionException:org.apache.storm.utils.NimbusLeaderNotFoundException:无法从种子主机 [server0] 找到领导者 nimbus。您是否为配置 nimbus.seeds 指定了有效的 nimbus 主机列表?
    在 java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_191]
    在 java.util.concurrent.FutureTask.get(FutureTask.java:206) ~[?:1.8.0_191]
    在 org.apache.storm.localizer.LocalDownloadedResource$NoCancelFuture.get(LocalDownloadedResource.java:63) ~[storm-core-1.1.1.jar:1.1.1]
    在 org.apache.storm.daemon.supervisor.Slot.handleWaitingForBasicLocalization(Slot.java:413) ~[storm-core-1.1.1.jar:1.1.1]
    在 org.apache.storm.daemon.supervisor.Slot.stateMachineStep(Slot.java:273) ~[storm-core-1.1.1.jar:1.1.1]
    在 org.apache.storm.daemon.supervisor.Slot.run(Slot.java:741) ~[storm-core-1.1.1.jar:1.1.1]
原因:org.apache.storm.utils.NimbusLeaderNotFoundException:无法从种子主机 [server0] 中找到领导者 nimbus。您是否为配置 nimbus.seeds 指定了有效的 nimbus 主机列表?
...
2018-11-20 08:06:29.140 oasdsSlot SLOT_6704 [错误] 处理事件时出错
...
2018-11-20 08:06:29.142 oasdsSupervisor Thread-5 [INFO] 关闭主管 3646a850-ce83-470c-a6c9-d69257780241
2018-11-20 08:06:29.143 oaseEventManagerImp Thread-4 [INFO] 事件管理器中断

每次测试我都清除了zookeeper数据和风暴临时数据。

rmr /storm

如何解决以下错误消息:“无法从种子主机 server0 找到领导者 nimbus。您是否为配置 nimbus.seeds 指定了有效的 nimbus 主机列表?”

ping 到“server0”没问题。为什么主管找不到“server0”。

谢谢

标签: javaapache-storm

解决方案


推荐阅读