Hadoop HDFS 集群安全模式

概述

NameNode 启动时,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中的各项操作。
一旦在内存中成功建立文件系统元数据的映像,则创建一个新的 fsimage 文件 和 一个空的 edits 日志。此时,NameNode 开始监听 DataNode 请求。但是此刻,NameNode 运行在安全模式,即 NameNode 的文件系统对于客户端来说是只读的。

系统中的数据块的位置并不是由 NameNode 维护的,而是以块列表的形式存储在 DataNode 中。在系统的正常操作期间,NameNode 会在内存中保留所有块位置的映射信息。 在安全模式下,各个 DataNode 会向 NameNode 发送最新的块列表信息,NameNode 了解到 足够多的块位置信息之后,即可高效运行文件系统。

如果满足“最小副本条件”,NameNode 会在 30 秒钟之后就退出安全模式。所谓的最小副本条件指的是在整个文件系统中 99.9%的块满足最小副本级别(默认值: dfs.replication.min=1)。在启动一个刚刚格式化的 HDFS 集群时,因为系统中还没有任何块, 所以 NameNode 不会进入安全模式。

命令参数

查看

[root@hadoop102 ~]# hdfs dfsadmin  -safemode get
Safe mode is OFF

进入

[root@hadoop102 ~]# hdfs dfsadmin  -safemode enter
Safe mode is ON

此时将不能操作hdfs

[root@hadoop102 ~]# hdfs dfs -mkdir -p /user/ylj  
mkdir: Cannot create directory /user/ylj. Name node is in safe mode.

离开

[root@hadoop102 ~]# hdfs dfsadmin  -safemode leave
Safe mode is OFF
# 操作hdfs成功
[root@hadoop102 ~]# hdfs dfs -mkdir -p /user/ylj    
[root@hadoop102 ~]# 

等待

hdfs dfsadmin -safemode wait

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yljphp/article/details/88953656