You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

单节点Hadoop上传文件时报1个运行datanode被排除的错误

Hadoop单节点跨设备上传文件报错问题分析

问题诱因

核心诱因是Hadoop DataNode绑定了回环地址127.0.0.1,未对外暴露同网段可访问的物理IP:

  • 部署单节点Hadoop时配置文件中使用了localhost/127.0.0.1作为服务地址,NameNode对外宣告的DataNode访问地址为127.0.0.1:9866
  • 同网段其他设备访问Hadoop时,会尝试连接自身本地的9866端口,自然无法建立连接,因此客户端直接将该DataNode标记为排除节点
  • 单节点环境下没有其他可用DataNode,就会触发could only be written to 0 of the 1 minReplication nodes的报错

其他次要可能诱因:

  • Hadoop服务器防火墙未开放DataNode、NameNode相关端口,即使IP正确也无法建立连接
  • HDFS目标写入路径没有给上传用户开放写入权限
  • DataNode存储目录磁盘已满,或者目录权限不足无法写入数据

解决方案

核心修复步骤(针对回环地址问题)

  1. 先停止运行中的HDFS服务:
./stop-dfs.sh
  1. 修正Hadoop配置文件:
    • 编辑etc/hadoop/core-site.xml,将fs.defaultFS配置的value值修改为hdfs://<Hadoop服务器同网段物理IP>:9000,替换原有localhost/127.0.0.1的配置
    • 编辑etc/hadoop/hdfs-site.xml,新增/修改以下配置:
    <property>
        <name>dfs.datanode.address</name>
        <value><Hadoop服务器同网段物理IP>:9866</value>
    </property>
    <property>
        <name>dfs.datanode.http.address</name>
        <value><Hadoop服务器同网段物理IP>:9864</value>
    </property>
    
  2. 检查Hadoop服务器的/etc/hosts文件,确保服务器主机名没有映射到127.0.0.1,改为映射到同网段物理IP
  3. 若无需保留原有HDFS数据,可执行格式化NameNode操作(有数据请提前备份):
hdfs namenode -format
  1. 重启HDFS服务:
./start-dfs.sh
  1. 验证配置:执行hdfs dfsadmin -report,确认返回的DataNode地址为同网段物理IP而非127.0.0.1

其他可能问题排查

  • 开放服务端口:关闭服务器防火墙,或者执行命令开放9000、9864、9866、9867端口,以CentOS为例:
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --add-port=9864/tcp --permanent
firewall-cmd --add-port=9866/tcp --permanent
firewall-cmd --add-port=9867/tcp --permanent
firewall-cmd --reload
  • 授权写入路径:给目标上传路径开放读写权限,示例:
hdfs dfs -chmod -R 755 /user/test/uploadedDatasets
  • 检查DataNode存储:确认hdfs-site.xml中配置的dfs.datanode.data.dir目录磁盘使用率未超过90%,且运行Hadoop的用户对该目录有读写权限

内容的提问来源于stack exchange,提问作者vatsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:30:06