HDFS中namenode安全模式
- 安全模式的现象探究
- step1
- step2
- step3
- step4
- 安全模式的概述
- 控制进入时间和离开条件
- 安全模式自动进入离开
- 安全模式手动进入离开
安全模式的现象探究
step1
- HDFS集群在停机状态下,使用hdfs -daemon命令逐个进程启动集群,观察现象
- 首先启动namenode
hdfs -daemon start namenode
- 只启动namenode发现集群可以查看目录结构但是无法新增目录
step2
- 打开HDFS集群web月面可以发现如下提示
- 提示说:已经汇报的数据块的比例没有达到阈值。阈值为总数量块的0.999
step3
启动第一天机器上的DataNode进程:hdfs -daemon start datanode,继续查看页面提示信息
step4
- 此时执行创建文件夹操作,发现可以创建成功了
- 可以发现在安全模式下,可以浏览文件系统目录层次结构,但是却无法创建文件夹,安全模式下的文件系统似乎处于一种刻度不可写的特殊状态
安全模式的概述
- hadoop中的安全模式safe mode是namenode的维护状态,在此状态下namenode不允许对文件系统进行任何更改,可以接受读数据请求
- 在namenode启动过程中,首先会从fsimage和edits日志文件加载文件系统状态。然后,等待datanodes汇报可用的block信息。在此期间,namenode保持在安全模式。随着DataNode的block汇报持续进行,当整个系统达到安全标准时候,HDFS自动离开安全模式。在namenode web主页上会显示安全模式是打开还是关闭
- 如果hdfs处于安全模式下,不允许hdfs客户端进行任何修改文件的操作,包括上传文件,删除文件,重命名,创建文件夹,修改副本数等操作
控制进入时间和离开条件
安全模式自动进入离开
- 自动进入时间
- HDFS集群启动时,当namenode启动成功之后,此时集群就会自动进入安全模式
- 自动离开条件(hdfs-site.xml,hdfs-defaults.xml)
安全模式手动进入离开
- 手动获取安全模式状态信息
hdfs dfsadmin -safamode get
- 手动进入命令
hdfs dfsadmin -safamode enter
手动进入安全模式对于集群维护或者升级的时候非常有用,因为这个时候HDFS生的数据是只读的
- 手动离开命令
hdfs dfsadmin -safemode leave