文档首页/ MapReduce服务 MRS/ 故障排除/ 使用HDFS/ 由于HDFS块丢失导致DataNode退服失败
更新时间:2022-12-09 GMT+08:00

由于HDFS块丢失导致DataNode退服失败

问题背景与现象

在退服DataNode过程中,一直提示退服失败。

原因分析

  1. 查看退服失败报错日志,日志中显示总计1564个块,有一个块一直没法被备份。

  2. 登录集群Master节点,进入HDFS客户端,执行hdfs fsck /命令查看损坏的块,并记录文件路径。

    例如:/tmp/hive-scratch/omm/_tez_session_dir/xxx-resources/xxx.jar。

    并且HDFS状态为“CORRUPT”

解决办法

  1. 请确认该损坏的块是否可以删除。

    • 是,执行2
    • 否,请联系技术支持。

  2. 执行以下命令进入HDFS客户端。

    cd HDFS客户端安装目录

    source bigdata_env

    kinit 业务用户

  3. 执行以下命令删除之前记录的损坏的块。

    hdfs dfs -rm -skipTrash /tmp/hive-scratch/omm/_tez_session_dir/xxx-resources/xxx.jar

  4. 执行命令查看HDFS状态是否恢复为“HEALTHY”。

    hdfs fsck /

  5. 再次执行DataNode退服操作。