昨天程序运行的时候,办公室突然停电了。 来电后以后再运行程序出现了spark程序跑不起来的问题。 查看log情况为:
Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /log. Name node is in safe mode.
The reported blocks 339192 needs additional 120824 blocks to reach the threshold 0.9990 of total blocks 460477.
The minimum number of live datanodes is not required. Safe mode will be turned off automatically once the thresholds have been reached. NamenodeHostName:master
解决过程:
1. 运行hadoop fsck / -files检查hdfs文件
检查最后显示文件系统corrupt了。
Status: corrupt
2. 运行hadoop fsck / -delete清除损坏的文件
3.再执行运行hadoop fsck / -files检查hdfs文件,文件系统好了。
Status: HEALTHY
Number of data-nodes: 3
Number of racks: 1
Total dirs: 107581
Total symlinks: 0
注意: 这种方式会出现数据丢失,损坏的block会被删掉。如果找不到更好的修复办法,只能用这个删除再重建了。
HDFS故障排查与修复:从SafeMode到数据恢复
当办公室停电导致Spark程序运行失败,检查发现HDFS处于SafeMode。通过运行hadoopfsck命令检查文件系统,发现其状态为corrupt。执行清理损坏文件后,系统恢复到HEALTHY状态,但可能造成数据丢失。此过程是解决HDFS问题和数据恢复的一种方法。
866

被折叠的 条评论
为什么被折叠?



