NameNode和SecondaryNameNode(面试开发重点)
nn和2nn的工作机制?2nn有什么作用?集群的故障处理、集群的安全模式
1、NameNode工作机制
第一阶段:NameNode启动
·第一次启动NameNode格式化后,创建Fsimage和Edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存
·客户端对元数据进行增删改的请求
·NameNode记录操作日志,更新滚动日志
·NameNode在内存中对元数据进行增删改
第二阶段:SecondaryNameNode工作
·Secondary NameNode询问NameNode是否需要CheckPoint。直接带回NameNode是否检查结果
·Secondary NameNode请求执行CheckPoint
·NameNode滚动正在写的Edits日志
·将滚动前的编辑日志和镜像文件拷贝到Secondary NameNode
·Secondary NameNode加载编辑日志和镜像文件到内存,并合并
·生成新的镜像文件fsimage.chkpoint
·拷贝fsimage.chkpoint到NameNode
·NameNode将fsimage.chkpoint重新命名成fsimage
2、2nn作用
·2nn的作用就是帮助NameNode进行Edits和Fsimage的合并工作
3、集群的故障处理
NameNode故障后,可以采用如下两种方法恢复数据
(1).将SecondaryNameNode中数据拷贝到NameNode存储数据的目录
·kill -9 NameNode进程
·删除NameNode存储的数据:rm -rf /opt/module/hadoop-2.7.2/data/tmp/dfs/name/*
·拷贝SecondaryNameNode中数据到原NameNode存储数据目录
·重新启动NameNode
(2)使用-importCheckpoint选项启动NameNode守护进程,从而将SecondaryNameNode 中数据拷贝到NameNode目录中
·修改hdfs-site.xml中的
<property>