Hadoop DataNode无法连接Master节点:master:9000连接失败
解决方法
1. 检查主机名解析
在DataNode节点的/etc/hosts文件中添加master节点的IP与主机名映射:
[master节点的实际IP] master
添加后执行ping master,确认能正常解析并连通。
2. 验证端口状态
- 在master节点执行以下命令,确认9000端口是否被NameNode监听:
netstat -tunlp | grep 9000
- 若端口未监听,检查
core-site.xml中的fs.defaultFS配置,确保值为hdfs://master:9000;同时检查hdfs-site.xml中的dfs.namenode.rpc-address配置是否一致。 - 若端口被其他进程占用,停止该进程或修改Hadoop端口配置。
3. 排查防火墙/安全组
- 临时关闭master节点防火墙测试:
CentOS/RHEL系统:
Ubuntu系统:systemctl stop firewalldufw disable - 测试正常后,添加9000端口放行规则(永久生效):
CentOS/RHEL系统:firewall-cmd --add-port=9000/tcp --permanent && firewall-cmd --reload
4. 同步集群ID(若格式化后仍异常)
- 停止所有Hadoop服务:
stop-dfs.sh
- 删除DataNode上的Hadoop数据目录(默认路径示例,以实际配置为准):
rm -rf /tmp/hadoop-$(whoami)/dfs/data
- 在master节点重新格式化NameNode:
hdfs namenode -format
- 重启Hadoop服务:
start-dfs.sh
内容的提问来源于stack exchange,提问作者sylla mohamed
相关产品推荐
相关产品推荐

