1.停止hadoop运行
运行stop-all.sh
2.配置namenode节点和datanode节点的数据存储目录
修改hdfs-site.xml配置文件,添加如下内容
<property>
<name>dfs.name.dir</name>
<value>/home/test/hadoop-test/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/test/hadoop-test/dfs/data</value>
</property>
3.迁移hadoop的数据文件
mv /tmp/hadoop-test /home/test
备注:
1.在实际操作过程中出现了,移动数据异常中止问题,所以我将dfs/data目录下的文件强制打包到/home/test/hadoop-test/dfs/下,然后解压缩文件,实现数据文件的迁移。
2.在启动时时候如果丢失block过多,低于总block的99.99%,则hadoop会处于safe mode,可以使用 hadoop dfsadmin -safemode leave离开安全模式。
Usage: java DFSAdmin
[-report]
[-safemode enter | leave | get | wait]
[-saveNamespace]
[-refreshNodes]
[-finalizeUpgrade]
[-upgradeProgress status | details | force]
[-metasave filename]
[-refreshServiceAcl]
[-refreshUserToGroupsMappings]
[-refreshSuperUserGroupsConfiguration]
[-setQuota <quota> <dirname>...<dirname>]
[-clrQuota <dirname>...<dirname>]
[-setSpaceQuota <quota> <dirname>...<dirname>]
[-clrSpaceQuota <dirname>...<dirname>]
[-setBalancerBandwidth <bandwidth in bytes per second>]
[-help [cmd]]
3.检查dfs的block是否异常,使用hadoop fsck /,或则在50070页面进行监控,如果无法影响正常使用,可以考虑使用hadoop fsck -delete 命令删除损坏的文件。