HDFS中namenode安全模式

安全模式的现象探究

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49750432/article/details/131997993