hadoop启动检查副本块数,就会进入safemode
safemode的相关情况
虽然不能进行修改文件的操作,但是可以浏览目录结构、查看文件内容的。
在命令行下是可以控制安全模式的进入、退出和查看的。
hadoop dfsadmin -safemode get # 查看安全模式状态
hadoop dfsadmin -safemode enter #进入安全模式状态
hadoop dfsadmin -safemode leave #离开安全模式
安全模式是hadoop的一种保护机制,在启动时,最好是等待集群自动退出,然后进行文件操作。
一般进入safemode情况有:
- ①启动或者重新启动hdfs时;
- ②HDFS维护升级时
可以使用fsck 检查一下HDFS的健康度
fsck相关介绍:
hadoop fsck
Usage:DFSck <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]
<path> 检查这个目录中的文件是否完整
-move #破损的文件移至/lost+found目录
-delete #删除破损的文件
-openforwrite #打印正在打开写操作的文件
-files #打印正在check的文件名
-blocks #打印block报告(需要和-files参数一起使用)
-locations #打印每个block的位置信息(需要和-files参数一起使用)
-racks #打印位置信息的网络拓扑图(需要和-files参数一起使用)
hadoop fsck / #用这个命令可以检查整个文件系统的健康状况,但是要注意它不会主动恢复备份缺失的block,这个是由NameNode单独的线程异步处理的