Apache Storm 2报Could not find leader nimbus from seed hosts错误求助
Apache Storm "Could not find leader nimbus from seed hosts" 报错排查方案
该错误核心原因是Storm服务无法从配置的nimbus.seeds列表中找到正常运行的Leader Nimbus节点,可按照以下步骤逐一排查解决:
1 优先修正storm.yaml配置格式错误
你当前提供的配置存在YAML语法问题,数组配置写法不规范,会导致Storm加载配置失败,修正后的合法配置如下:
########### These MUST be filled in for a storm configuration storm.zookeeper.servers: - "localhost" nimbus.seeds: ["localhost"]
YAML语法要求键值对的冒号后必须加空格,数组列表项要么换行后缩进加-,要么直接使用[]包裹列表元素,你原来的storm.zookeeper.servers:- "localhost"写法不符合语法规则,优先修正该问题。
2 逐步排查其他可能原因
- 检查ZooKeeper服务运行状态
执行zkServer.sh status确认ZooKeeper正常启动,若未启动先执行zkServer.sh start启动ZooKeeper,Storm依赖ZooKeeper完成Nimbus Leader选举、集群状态同步。 - 检查Nimbus进程是否存活
执行jps命令查看进程列表,确认存在nimbus进程,若不存在先执行storm nimbus &后台启动Nimbus,等待30秒左右待选举完成后再启动其他Storm组件。 - 检查端口连通性
Nimbus默认监听6627端口,ZooKeeper默认监听2181端口,执行telnet localhost 2181、telnet localhost 6627确认端口可正常访问,若无法连通检查防火墙、安全组规则是否开放对应端口,确认没有其他进程占用端口。 - 重置集群状态重试
上述步骤排查无误仍报错的,停止所有Storm相关进程,删除storm.local.dir配置路径下的所有临时数据,再按顺序重启ZooKeeper、Nimbus、Supervisor、UI组件即可。

内容的提问来源于stack exchange,提问作者Ram Prasad
相关产品推荐
相关产品推荐

