10)集群安全模式

概述

1)NameNode启动

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

2)DataNode启动

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

3)安全模式退出判断

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


语法

# 查看当前安全模式状态

$ bin/hdfs dfsadmin -safemode get

# 进入安全模式

$ bin/hdfs dfsadmin -safemode enter

# 离开安全模式

$ bin/hdfs dfsadmin -safemode leave

# 等待安全模式

$ bin/hdfs dfsadmin -safemode wait


等待安全模式案例:

1)先查看当前模式

$ bin/hdfs dfsadmin -safemode get

2)进入安全模式

$ bin/hdfs dfsadmin -safemode enter

3)创建并执行下面脚本

$ touch safemode.sh

$ vim safemode.sh

#!/bin/bash

hdfs dfsadmin -safemode wait

hdfs dfs -put /opt/module/hadoop-2.7.2/README.txt /

$ chmod 777 safemode.sh

$ ./safemode.sh

4)再打开一个窗口,执行

$ bin/hdfs dfsadmin -safemode leave

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容