hdfs安全模式
三种情况会进入安全模式:
1) 在集群冷启动时,由于正在读取block块的信息,会处于安全模式,当读取完毕,会自动退出安全模式
2) 当block块的丢失率达到0.1%时,会进入安全模式
3) 手动进入安全模式,hdfsdfsadmin –safemode enter
三种退出安全模式方法:
1) 在启动完后,自动退出
2) 手动退出安全模式,hdfsdfsadmin –safemode leave(但是并不能真正解决问题)
3) 找到问题所在,进行修复(比如修复宕机的datanode)
正常冷启动时进入安全模式的原理:
Namenode的内存元数据中包含了文件路径,blockid,副本数,及每一个block所在的datanode的信息,而fsimage中不包含block所在块的datanode信息,当冷启动时,会从fsimage中加载元数据信息,此时没有datanode信息,namenode认为丢失信息,进入安全模式,随着datanode陆续启动,datanode把心跳信息(blockid)传给namenode,namenode感知信息完整后,找到所有block位置,自动退出安全模式