Docker部署Hadoop集群:3个DataNode存活但仅1个NodeManager活跃的解决方法
解决Hadoop集群中NodeManager仅部分活跃的问题
1. 先确认新增节点的NodeManager服务是否启动
进入每个新增DataNode对应的Docker容器,先检查NodeManager的状态:
yarn node -status <节点IP或主机名>
如果显示服务未运行,直接手动启动:
yarn --daemon start nodemanager
2. 验证所有节点的YARN配置一致性
确保所有节点的$HADOOP_HOME/etc/hadoop/yarn-site.xml配置完全一致,重点核对以下参数:
yarn.resourcemanager.address:必须指向ResourceManager所在节点的正确地址和端口yarn.resourcemanager.resource-tracker.address:保证NodeManager能正常连接到ResourceManager的资源跟踪端口yarn.nodemanager.local-dirs:确认该目录存在且hadoop用户拥有读写权限,若有问题可执行:mkdir -p <配置的目录路径> && chown -R hadoop:hadoop <配置的目录路径>
3. 查看ResourceManager日志定位问题
进入ResourceManager所在的容器,查看日志找注册失败的具体原因:
tail -f $HADOOP_HOME/logs/yarn-*-resourcemanager-*.log
常见问题包括Docker容器间网络不通、端口未开放、权限不足或者配置参数写错。
4. 强制刷新NodeManager注册
如果确认配置和服务都正常,可重启ResourceManager触发节点重新注册:
yarn --daemon stop resourcemanager yarn --daemon start resourcemanager
重启后执行以下命令验证节点状态:
yarn node -list
内容的提问来源于stack exchange,提问作者Toosaka Rin
相关产品推荐
相关产品推荐

