Hadoop集群Data Node不显示问题求助
Hadoop集群DataNode不显示、YARN无法列出Worker节点问题排查
问题描述
搭建Hadoop集群时,HDFS可正常启动并通过Web界面访问,但DataNode未在Web界面显示;master节点(node1)执行yarn node -list无法返回worker节点列表;执行start-dfs.sh和start-yarn.sh显示服务正常启动,已尝试stop-all.sh重启服务但问题依旧。集群每个节点内存为2GB,yarn-site.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>yarn.acl.enable</name> <value>0</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- Resource--> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>1536</value> </property> <property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>1536</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>128</value> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> </configuration>
解决建议
一、排查DataNode未显示问题
检查NameNode与DataNode的Cluster ID一致性
- 登录NameNode节点,查看
${HADOOP_HOME}/data/hdfs/namenode/current/VERSION文件中的clusterID值 - 登录每个DataNode节点,查看
${HADOOP_HOME}/data/hdfs/datanode/current/VERSION文件中的clusterID值 - 若两者不一致,执行以下操作:
- 停止所有Hadoop服务:
stop-all.sh - 在每个DataNode节点删除HDFS数据目录和日志:
rm -rf ${HADOOP_HOME}/data/hdfs/datanode ${HADOOP_HOME}/logs/* - 重新启动HDFS服务:
start-dfs.sh,DataNode会自动同步NameNode的Cluster ID并注册
- 停止所有Hadoop服务:
- 登录NameNode节点,查看
检查DataNode服务状态
- 在每个DataNode节点执行
jps命令,确认DataNode进程是否存在 - 若进程不存在,查看DataNode日志
${HADOOP_HOME}/logs/hadoop-*-datanode-*.log,排查启动失败原因(如端口占用、权限不足等)
- 在每个DataNode节点执行
二、排查YARN Worker节点未注册问题
确认节点间主机名解析正常
- 所有节点的
/etc/hosts文件需包含集群内所有节点的IP与主机名映射,例如:192.168.1.100 node1 192.168.1.101 node2 192.168.1.102 node3 - 在每个worker节点执行
ping node1,确认能正常连通master节点;反之在master节点ping worker节点也需连通
- 所有节点的
关闭或配置防火墙
- 临时关闭防火墙测试:
systemctl stop firewalld(CentOS/RHEL)或ufw disable(Ubuntu) - 若关闭防火墙后问题解决,需永久开放Hadoop服务端口:NameNode(50070)、DataNode(50075)、ResourceManager(8088)、NodeManager(8042)等
- 临时关闭防火墙测试:
检查配置文件同步情况
- 确保所有worker节点的
core-site.xml、hdfs-site.xml、yarn-site.xml与master节点完全一致 - 可通过
scp命令同步配置:scp ${HADOOP_HOME}/etc/hadoop/*.xml worker-node:${HADOOP_HOME}/etc/hadoop/
- 确保所有worker节点的
查看NodeManager日志
- 登录worker节点,查看
${HADOOP_HOME}/logs/yarn-*-nodemanager-*.log,查找错误信息:- 若出现
Connection refused或ResourceManager not reachable,说明网络或主机名配置有误 - 若出现内存相关错误,可适当调整
yarn.nodemanager.resource.memory-mb值(建议不超过节点可用内存的70%,2GB节点设置1200MB左右更稳妥)
- 若出现
- 登录worker节点,查看
验证NodeManager进程状态
- 在worker节点执行
jps,确认NodeManager进程是否运行;若未运行,手动启动:yarn --daemon start nodemanager
- 在worker节点执行
内容的提问来源于stack exchange,提问作者Dawit
相关产品推荐
相关产品推荐

