1.SecondaryNameNode详解
1.1.SecondaryNameNode工作机制
1)第一阶段:namenode启动
- 1:第一次启动namenode,格式化之后,创建fsimage和edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。
- 2:客户端对元数据进行增删改查请求。
- 3:namenode记录操作日志,更新滚动日志。
- 4:namenode在内存中对数据进行增删改查。
2)第二阶段:SecondaryNameNode工作
- 1:SecondaryNameNode询问namenode是否需要进行checkpoint。直接带回namenode是否需要检查的结果。
- 2:SecondaryNameNode请求执行Checkpoint。
- 3:namenode滚动正在写的edits日志
- 4:将滚动钱的编辑日志和镜像文件拷贝到SecondaryNameNode
- 5:SecondaryNameNode加载编辑日志和镜像文件到内存,并合并。
- 6:生成新的镜像文件fsimage.checkpoint
- 7:拷贝fsimage.checkpoint到namenode。
- 8:namenode将fsimage.checkpoint重新命名成fsimage
1.2.NameNode和SecondaryNameNode的区别和联系
1)区别
- 1:NameNode负责管理整个文件系统的元数据,以及每一个路径(文件)所对应的数据块信息。
- 2:SecondaryNameNode主要用于定期合并命名空间镜像和命名空间的编辑日志。
2)联系
- 1:SecondaryNameNode中保存了一份和NameNode一直的镜像文件(fsimage)和编辑日志(edits)。
- 2:在主namenode发生故障时(假设没有及时备份数据),可以从SecondaryNameNode恢复数据。
1.3.服役新数据节点和退役旧节点步骤
1)节点上线操作
当要新上线数据节点的时候,需要把数据节点追加在dfs.hosts文件中
1,关闭新增节点的防火墙
2,在NameNode节点的hosts文件中加入新增数据节点的hostname
3,在每个新增数据节点的hosts文件中加入NameNode的hostname
4,在NameNode节点增加新增节点的SSH免密码登录操作
5,在NameNode的节点上的dfs.hosts中追加上新节点的hostname
6,在其他节点上执行刷新操作:hdfs dfsadmin -refreshNodes
7,在NameNode节点上,更改slaves文件,将要上线的数据节点hostname追加到slaves文件中。
8,启动NameNode节点
9,查看NameNode的监控页面看是否有新增加的节点
复制代码
2)节点下线操作
1,修改/conf/hdfs-site.xml文件
2,确定需要下线的机器,dfs.oste.execlude文件中配置好需要下架的机器,这个是组织下架机器去连接NameNode的
3,配置完成之后进行配置的刷新操作./bin/hadoop dfsadmin -refreshNodes,这个操作的作用是在后台进行block块的移动
。
4,当执行三的命令完成之后,需要下架的机器就可以关闭了,可以查看现在集群上连接的节点,正在执行Decommission,
会显示:Decommission Status:Decommission in progress执行完毕后,会显示:Decommission Status:Decommissioned
5,机器下线完毕,将他们从excludes文件中移除。
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END