在安全模式期间,客户端只能浏览HDFS文件系统目录层次结构,但是不能写HDFS(创建文档夹、上传文档、删除文档 都不能操作)。
安全模式启动的两种情况:
1、自动启动和关闭,当只启动了NameNode或DataNode还未完成块数量的99.9%上报时, NameNode就在安全模式下。
2、通过命令手工启动和关闭安全模式。
自动启动和关闭安全模式
NameNode启动时,会读取映射文件fsimage载入内存,并执行编辑日志edits中的各项操作,这个过程中会更新内存中的元数据,并将内存中的元数据写到新的fsimage文档中,然后创建一个空的编辑日志edits。同步开启HDFS的安全模式,监听DataNode的请求。当DataNode报告的块数量达到块总数量的阈值0.9990后,安全模式将自动关闭。
自动关闭安全模式的条件:(hdfs-site.xml、hdfs-default.xml)
dfs.namnode.safemode.threshold-pct #已汇报可用数据块数量占总数量的百分比阈值,默认0.999f。
dfs.namenode.safemode.min.datanodes #在退出安全模式之前必须存活的DataNode数量,默认0。
dfs.namenode.safemode.extension #达到阈值条件后持续扩展的时间,默认值30000毫秒。倒计时结束后如果依然满足阈值条件自动关闭安全模式。
在Web管理端查看安全模式的状态
http://127.0.0.1:50070/dfshealth.html#tab-overview
启动过程:
Summary
Security is off.
Safe mode is ON. The reported blocks 4 has reached the threshold 0.9990 of total blocks 4. The minimum number of live datanodes is not required. In safe mode extension. Safe mode will be turned off automatically in 19 seconds.
9 files and directories, 4 blocks (4 replicated blocks, 0 erasure coded block groups) = 13 total filesystem object(s).
Heap Memory used 60.71 MB of 308 MB Heap Memory. Max Heap Memory is 889 MB.
启动完成后:
Summary
Security is off.
Safemode is off.
9 files and directories, 4 blocks (4 replicated blocks, 0 erasure coded block groups) = 13 total filesystem object(s).
Heap Memory used 70.84 MB of 308 MB Heap Memory. Max Heap Memory is 889 MB.
手工启动和关闭安全模式
1、获取安全模式信息
hdfs dfsadmin -safemode get #命令
Safe mode is ON
或
Safe mode is OFF
2、启动安全模式
hdfs dfsadmin -safemode enter #命令
在Web管理端查看安全模式的状态
http://127.0.0.1:50070/dfshealth.html#tab-overview
Summary
Security is off.
Safe mode is ON. It was turned on manually. Use "hdfs dfsadmin -safemode leave" to turn safe mode off.
9 files and directories, 4 blocks (4 replicated blocks, 0 erasure coded block groups) = 13 total filesystem object(s).
Heap Memory used 86.09 MB of 308 MB Heap Memory. Max Heap Memory is 889 MB.
注:手动启动安全模式后再页面中会提示离开安全模式需要手动执行离开命令"hdfs dfsadmin -safemode leave"
3、离开安全模式
hdfs dfsadmin -safemode leave #命令