HDFS异常下电后,DataNode实例状态异常(文件损坏)
适用版本
6.5.x。
问题背景与现象
-
DataNode 实例状态异常,查看日志发现无法访问磁盘上某些文件。
-
使用“ll 文件名”命令查看文件的属性为“??”。
-
其他非HDFS文件读取失败,文件属性为“??”也可以参考此案例执行。
可能原因
对应DataNode节点的磁盘有坏道。
原因分析
-
进入服务实例,确认故障的节点
-
使用PuTTY登录该节点,执行如下命令(这里/export/data1目录是DataNode使用的数据目录)。
ls -lR /export /srv 1>/dev/null
按上图执行的结果可以确认是“/export/data2”的文件系统被损坏。
-
继续按上图的结果做进一步确认。按上图结果,执行如下命令:
ls -l /export/data2/dfs/data/current/BP-1450212980-210.12.10.12-1461640104094/current/finalized/subdir1/subdir29/
有带有问号的文件。
-
执行df -h,找到“/export/data2”所挂载的磁盘,本例中是“/dev/mapper/VG_SR5S5-ExportData2”。
解决办法
-
执行如下命令进行修复。
cd
umount /export/data2
xfs_repair /dev/mapper/VG_SR5S5-ExportData2
mount -a
-
本命令仅供参考。
-
磁盘坏道导致文件无法读取,请联系OS和硬件部门人处理。
-
-
如果执行umount命令时,提示如下信息,则返回到FusionInsight Manager界面上停止故障的DataNode实例。
-
如果还有问题,则执行lsof | grep /export/data2查看是什么进程在使用这个目录。如果不是关键进程,则杀掉该进程。
-
如果前面停止了故障的服务,重新启动。
-
查看页面,如下图,已恢复正常。
- 点赞
- 收藏
- 关注作者
评论(0)