hadoop NameNode和SecondaryNameNode 工作机制

NameNode工作机制
nn、ns工作机制

1)第一阶段:namenode 启动

(1)第一次启动 namenode 格式化后,创建 fsimage 和 edits 文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。

(2)客户端对元数据进行增删改的请求。

(3)namenode 记录操作日志,更新滚动日志。

(4)namenode 在内存中对数据进行增删改查


2)第二阶段:Secondary NameNode 工作

(1)Secondary NameNode 询问 namenode 是否需要 checkpoint。直接带回 namenode 是否检查结果。

(2)Secondary NameNode 请求执行 checkpoint。

(3)namenode 滚动正在写的 edits 日志

(4)将滚动前的编辑日志和镜像文件拷贝到 Secondary NameNode

(5)Secondary NameNode 加载编辑日志和镜像文件到内存,并合并。

(6)生成新的镜像文件 fsimage.chkpoint

扫描二维码关注公众号,回复: 5388573 查看本文章

(7)拷贝 fsimage.chkpoint 到 namenode

(8)namenode 将 fsimage.chkpoint 重新命名成 fsimage

3)web 端访问 SecondaryNameNode

(1)启动集群

(2)浏览器中输入:http://master:9001/status.html

(3)查看 SecondaryNameNode 信息
SecondaryNameNode信息

4)chkpoint 检查时间参数设置

(1)通常情况下,SecondaryNameNode 每隔一小时执行一次。
    [hdfs-default.xml]

<property>
 	<name>dfs.namenode.checkpoint.period</name>
 	<value>3600</value>
</property>

(2)一分钟检查一次操作次数,当操作次数达到 1 百万时,SecondaryNameNode 执行
一次。

<property>
 	<name>dfs.namenode.checkpoint.txns</name>
	 <value>1000000</value>
	<description>操作动作次数</description>
</property>
<property>
 	<name>dfs.namenode.checkpoint.check.period</name>
 	<value>60</value>
	<description> 1 分钟检查一次操作次数</description>
</property>

其它)Namenode 多目录配置

1)namenode 的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性。

2)具体配置如下:

[hdfs-site.xml]

<property>
 	<name>dfs.namenode.name.dir</name
 	<value>file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2</value>
</property>

猜你喜欢

转载自blog.csdn.net/qq_36885128/article/details/88070013