网站的icp是什么意思,装饰工程网站模板,什么网站的注册是动态,宝安网站制作公司目录前言#xff1a;1、NameNode的工作机制2、DataNode的工作机制3、Secondary Namenode的Check point机制 目录
前言#xff1a;
在说明checkpoint机制之前#xff0c;先要了解下namenode、datanode的一些功能和职责。
1、NameNode的工作机制
问题场景#xff1a; 1…目录前言1、NameNode的工作机制2、DataNode的工作机制3、Secondary Namenode的Check point机制 目录
前言
在说明checkpoint机制之前先要了解下namenode、datanode的一些功能和职责。
1、NameNode的工作机制
问题场景 1、集群启动后可以查看文件但是上传文件时报错打开web页面可看到namenode正处于safemode状态怎么处理(safemode是由于当前的namenode和大部分的datanode未建立完全的链接即namenode不清楚有些数据的存储位置造成的) 2、Namenode服务器的磁盘故障导致namenode宕机如何挽救集群及数据(多种方法1、早起设置集群时配置HA机制。2、在配置文件hdfs.site中将dfs.namenode.name.dir属性配置多个目录就相当于对namenode数据做了多份备份这样做的好处是当其中一个目录损坏了也不会影响到Hadoop的元数据特别是当其中一个目录是NFS网络文件系统Network File SystemNFS之上即使你这台机器损坏了元数据也得到保存。) 3、Namenode是否可以有多个是后面问题根据实际情况来具体分析namenode内存要配置多大namenode跟集群数据存储能力有关系吗 4、文件的blocksize究竟调大好还是调小好 …… 诸如此类问题的回答都需要基于对namenode自身的工作原理的深刻理解。目前的话个人件建议只需要了解以下的主要内容就行了后续如果遇到问题再深入了解相关内容
1. namenode的职责 负责客户端请求的响应 元数据的管理查询修改 2. 对元数据管理 namenode对数据的管理采用了三种存储形式 A、内存元数据(NameSystem)内存中有一份完整的元数据(内存meta data)。 B、磁盘元数据镜像文件磁盘有一个“准完整”的元数据镜像fsimage文件(在namenode的工作目录中)。 C、数据操作日志文件可通过日志运算出元数据用于衔接内存metadata和持久化元数据镜像fsimage之间的操作日志edits文件。 注当客户端对hdfs中的文件进行新增或者修改操作操作记录首先被记入edits日志文件中当客户端操作成功后相应的元数据会更新到内存meta.data中。
2、DataNode的工作机制
问题场景 1、集群容量不够怎么扩容 2、如果有一些datanode宕机该怎么办 3、datanode明明已启动但是集群中的可用datanode列表中就是没有怎么办
以上这类问题的解答有赖于对datanode工作机制的深刻理解目前的话个人件建议只需要了解以下的主要内容就行了后续如果遇到问题再深入了解相关内容 1、Datanode工作职责 存储管理用户的文件块数据 定期向namenode汇报自身所持有的block信息通过心跳信息上报 这点很重要因为当集群中发生某些block副本失效时集群如何恢复block初始副本数量的问题
3、Secondary Namenode的Check point机制
了解了以上知识接下来再来理解元数据的checkpoint机制是怎么一回事的时候就很容易了。 什么叫checkpoint? 每隔一段时间会由secondary namenode将namenode上积累的所有edits和一个最新的fsimage下载到本地并加载到内存进行merge这个过程称为checkpoint checkpoint机制如下图所示
客户端发送更新元数据的请求。namenode在内存中更新元数据。edits记录更新的操作日志namenode滚动当前正在写的edits。将生成的fsimage和edtis下载到secender namenode.将下载到secender namenode的fsimage和edtis放入内存进行合并。合并更新后的元数据dump成新的image文件然后secender namenode请求namenode是否需要checkpoint如果需要就将edtis正在写的那条日志进行滚动即重复4步骤的操作并将secender namenode生成的新的fsimage上传到namenode并重命名为fsimage。
checkpoint的附带作用 namenode和secondary namenode的工作目录存储结构完全相同所以当namenode故障退出需要重新恢复时可以从secondary namenode的工作目录中将fsimage拷贝到namenode的工作目录以恢复namenode的元数据。
最后重点陈述下Secondary Namenode与Namenode的HA机制的区别有许多人认为Secondary Namenode其实就是namenode一个HA机制其实不是这样的。Secondary Namenode相当于Namenode的一个热备份比如电脑的一键还原只是定期将合并的image文件通过checkpoint机制传给Namenode并不具备HA机制中当namenode挂了之后直接接管namenode的能力。更深层来说HA机制中备份的namenode是对namenode内存、edtis、image的实时的备份而Secondary Namenode只是对image定时的备份。所以两者不是同一个东西。