java - 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”
测试步骤
在这三台主机上运行 zookeeper 服务器。测试 zookeeper 状态。那没问题。
在主机(server0)上运行风暴雨云。在主机(server0)上运行storm ui
在主机(server0、server1、server2)上运行storm supervisor
在 ui 页面中验证风暴状态。没关系。
提交拓扑,成功
大约 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”。
谢谢
解决方案
推荐阅读
- project-reactor - 如何调用 Sinks.Many
.tryEmitNext 来自多个线程? - django-rest-framework - Django Rest 框架面板 - 登录和注销不适用于 Simple JWT
- sorting - 图表 - 日期顺序 - Google 数据洞察
- c# - 为什么它不在编辑器中绘制圆形 Gizmo?
- sql - 我在 pgweb Heroku 中创建一个表,并收到此错误“错误:pq:在“(”)或附近的语法错误
- python - 弃用警告:在 Windows 上使用带有 Python Selenium 和 Chromedriver 的 Brave 浏览器使用选项而不是 chrome_options 错误
- matlab - 加快查找值之间的元素数 Matlab
- java - 如何找到包含 jni.h 和 jni_md.h 的目录的路径?
- php - PHP:preg_replace 到 preg_replace_callback 的转换问题
- ios - XCUITest 运行时,复制粘贴有时无法正常工作。为什么?