NameNode && Secondary NameNode工作机制

1)工作流程

2)  fsimage和edits

NameNode是HDFS的大脑,它维护着整个文件系统的目录树,以及目录树里所有的文件和目录,这些信息以俩种文件存储在文件系统:一种是命名空间镜像(也称为文件系统镜像,File System Image,fsimage),即HDFS元数据的完整快照,每次NameNode启动的时候,默认会加载最新的命名空间镜像,另一种是命令空间镜像的编辑日志(Edit log)。

fsimage文件其实是文件系统元数据的一个永久性检查点,但并非每一个写操作都会更新这个文件,因为FSImage是一个大型文件,如果频繁地执行写操作,会使系统运行极为缓慢。解决方案是NameNode只将改动内容预写日志,即写入命名空间镜像的编辑日志.随着时间的推移,编辑日志会变得越来越大,那么一旦发生故障,将会话费非常多的时间来回滚操作,所以就像传统的关系数据库一样,需要定期地合并fsimage和编辑日志。如果由NameNode来做合并操作,那么NameNode在为集群提供服务时可能无法提供足够的资源,为了彻底解决这一问题,Secondary NameNode应允而生。

3)第一阶段:NameNode 启动

  • (1)第一次启动 NameNode 格式化后,创建 fsimage 和 edits 文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。
  • (2)客户端对元数据进行增删改的请求。
  • (3)NameNode 记录操作日志,更新滚动日志。
  • (4)NameNode 在内存中对数据进行增删改查。

4)第二阶段:Secondary NameNode 工作

  • (1)Secondary NameNode询问NameNode是否需要checkpoint。
  • (2)Secondary NameNode请求执行checkpoint。
  • (3)NameNode滚动正在写的edits日志。
  • (4)将滚动前的编辑日志和镜像文件拷贝到Secondary NameNode。
  • (5)Secondary NameNode加载编辑日志和镜像文件到内存,并合并。
  • (6)生成新的镜像文件fsimage.chkpoint。
  • (7)拷贝fsimage.chkpoint到NameNode。
  • (8)NameNode将fsimage.chkpoint重新命名成fsimage。

默认情况下,该过程每小时发生一次,或者当NameNode的编辑日志文件到达默认的64MB也会触发。

NameNode && Secondary NameNode工作机制的更多相关文章

  1. NameNode&Secondary NameNode 工作机制

    NameNode&Secondary NameNode 工作机制 NameNode: 1.启动时,加载编辑日志和镜像文件到内存 2.当客户端对元数据进行增删改,请求NameNode 3.Nam ...

  2. hadoop及NameNode和SecondaryNameNode工作机制

    hadoop及NameNode和SecondaryNameNode工作机制 1.hadoop组成 Common MapReduce Yarn HDFS (1)HDFS namenode:存放目录,最重 ...

  3. Hadoop(五)—— HDFS NameNode、DataNode工作机制

    一.NN与2NN工作机制 NameNode(NN) 1.当HDFS启动时,会加载日志(edits)和镜像文件(fsImage)到内存中. 2-4.当元数据的增删改查请求进来时,NameNode会先将操 ...

  4. NameNode和SecondaryNameNode的工作机制

    NameNode&Secondary NameNode 工作机制 NameNode: 1.启动时,加载编辑日志和镜像文件到内存 2.当客户端对元数据进行增删改,请求NameNode 3.Nam ...

  5. HDFS中NameNode工作机制

    引言 NameNode: 存储元数据 管理整个HDFS集群 DataNode: 存储数据的block SecondaryNameNode: 辅助HDFS完成一些事情 NameNode和Secondar ...

  6. NameNode和SecondaryNameNode工作原理剖析

    NameNode和SecondaryNameNode工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.NameNode中的元数据是存储在那里的? 1>.首先,我 ...

  7. Secondary Namenode - What it really do?

    原文链接:http://blog.madhukaraphatak.com/secondary-namenode---what-it-really-do/ Secondary Namenode is o ...

  8. HDFS中NameNode和Secondary NameNode工作机制

    NameNode工作机制 0)启动概述 Namenode启动时,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中的各项操作.一旦在内存中成功建立文件系统元数据的映像,则创建一个 ...

  9. Hadoop的namenode的管理机制,工作机制和datanode的工作原理

    HDFS前言: 1) 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: 2)在大数据系统中作用: 为各类分布式运算框架(如:mapr ...

随机推荐

  1. spring cloud各个微服务之间如何相互调用(Feign、Feign带token访问服务接口)

    1.首先先看什么是Feign. 这里引用“大漠知秋”的博文https://blog.csdn.net/wo18237095579/article/details/83343915 2.若其他服务的接口 ...

  2. CF1178F Short/Long Colorful Strip(DP)

    说起来,这题好像也不难-- 先考虑 F1 怎么做. 既然别的方法都不行不如试试\(f_{i,j}\) 表示在刚刚准备开始涂 \([i,j]\) 中最小编号的颜色之前,整个区间是同色的,且最后能做到 \ ...

  3. Spring Cloud Gateway重试机制

    前言 重试,我相信大家并不陌生.在我们调用Http接口的时候,总会因为某种原因调用失败,这个时候我们可以通过重试的方式,来重新请求接口. 生活中这样的事例很多,比如打电话,对方正在通话中啊,信号不好啊 ...

  4. Chrome操作技巧

    好用的插件: 如果你用 Chrome 浏览器,这8款插件一定要用! - 知乎 沙拉查词:     集合各大翻译,详细好用权威 Simple Allow Copy: 开启被网页屏蔽的自由复制功能 Qui ...

  5. Java 性能调优小技巧

    1.在知道必要之前不要优化系统 这可能是最重要的性能调整技巧之一.你应该遵循常见的最佳实践做法并尝试高效地实现用例.但是,这并不意味着在你证明必要之前,你应该更换任何标准库或构建复杂的优化. 在大多数 ...

  6. .NET CORE编写控制台程序应有的优雅姿势(转载)

    原文地址:https://www.cnblogs.com/zuowj/p/11107243.html 本文所说的编写控制台程序应有的“正确”方法,我把正确二字加上引号,因为没有绝对的正确,因人而异,因 ...

  7. Python 遍历目录下的子目录和文件

    import os A: 遍历目录下的子目录和文件 for root,dirs ,files in os.walk(path) root:要访问的路径名 dirs:遍历目录下的子目录 files:遍历 ...

  8. 如何打造难用,bug多的产品

    本文纯属吐槽,如有雷同,绝非巧合.长期更新,欢迎一起吐槽. 没有产品规划 需求方提出需求后,直接开发,无需经过产品规划,用开发的思维搞出来!于是我们得到了一堆功能的集合.这个集合可以让刚上手的新用户一 ...

  9. 【BZOJ4487】[JSOI2015]染色问题(容斥)

    [BZOJ4487][JSOI2015]染色问题(容斥) 题面 BZOJ 题解 看起来是一个比较显然的题目? 首先枚举一下至少有多少种颜色没有被用到过,然后考虑用至多\(k\)种颜色染色的方案数. 那 ...

  10. v8引擎详解(摘)-- V8引擎是一个JavaScript引擎实现

    随着Web相关技术的发展,JavaScript所要承担的工作也越来越多,早就超越了“表单验证”的范畴,这就更需要快速的解析和执行JavaScript脚本.V8引擎就是为解决这一问题而生,在node中也 ...