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

Hadoop集群数据同步失败 报副本放置不足故障排查

故障根因

本次写入失败并非实际磁盘空间不足导致,核心是配置错误引发HDFS存储类型识别异常,具体问题点如下:

  • hdfs-site.xml存在非法XML语法错误:文件开头XML声明前多了1个冗余*字符,文件末尾</configuration>闭合标签后也多了1个冗余*字符,会导致配置加载时解析异常。
  • 配置项逻辑冲突:你在dfs.datanode.data.dir中显式给数据目录标注了[DISK]存储类型,但同时将dfs.storage.policy.enabled设为false关闭了存储策略功能,NameNode无法识别DataNode上报的DISK类型存储,判定所有3个运行中的DataNode都没有符合块放置要求的存储介质,直接将所有节点排除在可选写入范围外,最终触发副本放置失败错误。
    之前格式化NameNode、DataNode操作无效,是因为操作没有触及配置错误这个根本原因。
修复步骤
  1. 修正配置文件语法错误
    编辑所有节点的hdfs-site.xml,删除文件开头、末尾的冗余*字符,保证XML格式完全合法。
  2. 解决配置冲突,二选一即可:
    • 方案1(推荐,适配当前目录配置):将dfs.storage.policy.enabled配置项的值从false改为true,开启存储策略功能,和目录上标注的[DISK]类型匹配。
    • 方案2(不需要存储策略功能时选择):删除dfs.datanode.data.dir配置值里的[DISK]前缀,直接写为file:///opt/hadoop/dfsdata/dataNode,HDFS默认会将本地数据目录识别为DISK类型存储,不需要显式标注。
  3. 同步配置
    将修正后的hdfs-site.xml文件同步到集群所有节点的Hadoop配置目录,覆盖原有错误配置,确保所有节点配置完全一致。
  4. 重启集群生效
    依次执行以下命令:
# 停止HDFS服务
stop-dfs.sh
# 执行jps命令检查所有节点进程,确认NameNode、DataNode进程全部退出,残留进程手动kill
jps
# 启动HDFS服务
start-dfs.sh
  1. 功能验证
    集群启动完成后,先执行hdfs dfsadmin -report确认所有DataNode存储状态正常,再上传一个小测试文件到HDFS验证写入功能正常,之后即可正常传输18GB业务数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 09:16:10