hadoop hdfs datanode 数据迁移

时间:2024-03-23 10:09:49

定位思路

       先将集群停止,然后准备好新的存储目录,再将数据复制到新的目录中,重启集群。

处理步骤

       假设HDFS的默认安装目录为“/dfs/dn”,需要移动目录到“/home/dfs/dn”中。

       1.登录cdh manager,停止hdfs集群

       2.在home目录下创建 dfs/dn 目录

       cd /home

      mkdir -p   dfs/dn

      更改目录所属的用户和组

    chown -R hdfs  /home/dfs/dn/

    chgrp -R hadoop /home/dfs/dn

    使用cdh 搭建hdfs集群的时候,默认用户为hdfs ,默认用户组为hadoop

          将数据复制到目标目录:当前DataNode的目录为根目录下,和系统目录在同一目录下,随着DataNode的增长导致系统运行空间不足

          cp -af /dfs/dn/*  /home/dfs/dn/

        3 . 在cdh Manager管理界面,更改DataNode的配置目录

              打开HDFS服务datanode配置页面,将所有datanode的数据目录配置项“dfs.datanode.data.dir”

              由“/dfs/dn”修改为“/home/dfs/dn”。

hadoop hdfs datanode 数据迁移

 

       4. 启动HDFS服务。(除HDFS依赖的服务外,其他服务都不启动),重启DataNode和NameNode

       5. 启动成功后,执行fsck检查是否复制正确。 命令样例:

         hdfs fsck /

       6. fsck显示有文件丢失,则检查2是否正确,并执行相关的修复。

       7. fsck显示文件无文件丢失,HDFS没有处于安全模式,则表示数据复制成功。

       8. 删除原有数据目录“/dfs/dn”中的文件。

       9. 启动集群中剩余的服务。