当HDFS在safemode时,客户端只能进行有限读操作,不能进行写操作。所能读取的文件,是拿到当前文件所有块的文件,缺少文件块的文件不能读。当HDFS处于安全模式时,说明有Datanode丢失块,当进行写操作时,有可能造成文件块丢失,所以HDFS用进入safemode来保护数据。
当 NN得到所有块最小副本总数 / 块总数 < threhold (default:99.99%)时,NN进入safemode.
相关命令:
hdfs dfsadmin -safemode get 获取当前safemode状态
hdfs dfsadmin -safemode enter 强制进入safemode
hdfs dfsadmin -safemode leave 强制离开safemode
hdfs dfsadmin -safemode wait 缓存HDFS收到的操作,当离开safemode时,立刻执行缓存的操作