Ubuntu20.04编译Impala失败:报错“Could not get one or more nodes”
解决Ubuntu 20.04编译Impala时“Could not get one or more nodes”错误
以下是针对该错误的排查与解决步骤:
检查集群节点连通性
- 确保所有集群节点间能通过主机名互相ping通,避免DNS解析问题导致节点无法识别
- 验证编译节点到所有集群节点的SSH免密登录配置是否生效,编译脚本可能需要远程执行操作,无密码登录必须正常
- 核对
/etc/hosts文件,保证所有节点的主机名与IP地址映射准确,无重复或错误条目
确认HDFS集群健康状态
- 执行
hdfs dfsadmin -report命令,查看DataNode是否全部处于活跃状态,排查是否有节点宕机或未正常注册 - 确认NameNode处于Active状态,排除Standby节点无法切换的异常情况
- 执行
验证ZooKeeper节点注册情况
- 用
zkServer.sh status检查每个ZK节点的运行状态,确保所有节点均为leader或follower状态,无故障节点 - 通过
zkCli.sh连接ZK服务,执行ls /impala查看相关znode,确认集群节点信息已正确注册到ZK
- 用
核对编译脚本的节点配置
- 检查Impala源码目录下
conf/impala-env.sh和conf/impala-config.sh文件,确认IMPALA_HOSTS等节点列表配置项包含所有集群节点的主机名,无遗漏或错误 - 确保配置中的节点列表与实际运行的集群节点完全一致
- 检查Impala源码目录下
排查防火墙与端口占用
- 临时关闭所有节点的防火墙(Ubuntu下执行
ufw disable)测试,避免端口被拦截 - 用
netstat -tulpn | grep <端口号>检查关键端口(如HDFS 50010/50070、ZK 2181、Impala 21000等)是否被占用或未正常监听
- 临时关闭所有节点的防火墙(Ubuntu下执行
查看详细编译日志
- 前往Impala源码目录的
logs文件夹,查看build.log或impalad.log等日志文件,获取更具体的错误详情,定位无法访问的具体节点
- 前往Impala源码目录的
内容的提问来源于stack exchange,提问作者Arvind Dige
相关产品推荐
相关产品推荐

