NameNode主要保存了下面的内容

1-维护元数据信息。Block和文件之间的关系,即某一个特定文件都有哪些Block;

2-每一个Block存储在什么位置(DataNode上面);

3-维护HDFS上面虚拟的目录树;

4-响应客户端的请求;

NameNode如何保证元数据的可靠性

fsimage 和内存中保存的元数据互为镜像;

edits.log中存储了一段时间内所有的元数据操作;edits.log文件大小是固定的(默认是64M),那么每当edits.log文件满了,那么将这段时间之内新产生的元数据加到fsimage中,注意这个过程不是直接在内存中持久化,而是将edits.log文件和fsiamge进行合并;由于这个合并操作会占用一定的cpu和内存资源,所以合并操作是在secondaryNameNode上面进行的。在合并期间所产生的元数据操作记录都保存在edits.new文件中,即下图的第3步。

1-客户端上传文件时,NN首先给edits.log文件中记录数据操作日志;

2-客户端得到NN返回的DN的位置,开始上传文件,完成之后返回成功信息给NN,NN就在内存中写入这次上传操作的新产生的元数据信息,并且将操作内容持久化到edits.log文件中;

3-知道edit.log文件被写满,那么开始合并;

Secondar要namenode工作流程;

1-secondary namenode通知namenode切换edits文件;

2-secondary namenode 通知namenode获得fsimage和edits文件(通过http);

3-secondary namenode通过将fsimage载入内存、然后开始合并edits;

4-secondary namenode将新的image发回给namenode;

5-namenode用新的fsimage替换就得fsimage文件;

什么时候checkpoint

1-通过配置项fs.checkpoint.period执行两次checkpoint的最大时间间隔,默认是3600;

2fs.checkpoint.size 指定edits文件的最大值,一旦超过这个最大阈值,那么就会强制触发checkpoint,无论是不是是达到最大的时间间隔。默认的大小是64M

NameNode HA模式

待续。。。。

HDFS---NameNode管理元数据及HA模式的更多相关文章

  1. HDFS中NameNode管理元数据机制

    NameNode职责 响应客户端请求 维护目录树 管理元数据(查询,修改) HDFS元数据存储 内存中有一份完整的元数据(特定数据结构) 磁盘有一个“准完整”的元数据的镜像文件 当客户端对HDFS中的 ...

  2. HDFS namenode 高可用(HA)搭建指南 QJM方式 ——本质是多个namenode选举master,用paxos实现一致性

    一.HDFS的高可用性 1.概述 本指南提供了一个HDFS的高可用性(HA)功能的概述,以及如何配置和管理HDFS高可用性(HA)集群.本文档假定读者具有对HDFS集群的组件和节点类型具有一定理解.有 ...

  3. HA模式下的java api访问要点

    在非HA架构的HDFS中,客户端要通过java接口调用HDFS时一般是在JobRunner的类中按照下面的方式: 因为nodename只有一个节点所以会在代码中显式的指明要连接哪一个节点:但是在HA模 ...

  4. hadoop hdfs ha 模式

    这是我自己在公司一个搭建公司大数据框架是自己的选项,在配置yarn ha 出现了nodemanager起不来的问题于是我把yarn搭建为普通yarn 如果有人解决 高yarn的nodemanager问 ...

  5. HDFS NameNode HA 部署文档

    简介: HDFS High Availability Using the Quorum Journal Manager Hadoop 2.x 中,HDFS 组件有三个角色:NameNode.DataN ...

  6. hdfs、zookeepeer之HA模式

    HA简介 1.所谓HA,即高可用(high available) 2.消除单点故障,避免集群瘫痪,hdfs中namenode保存了整个集群的元数据,如果namenode所在机器宕机,则整个集群瘫痪,H ...

  7. 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)

    1)集群规划:主机名        IP      安装的软件                     运行的进程master    192.168.199.130   jdk.hadoop      ...

  8. [hadoop][会装]hadoop ha模式安装

    1.简介 2.X版本后namenode支持了HA特性,使得整个文件系统的可用性更加增强. 2.安装前提 zookeeper集群,zookeeper的安装参考[hadoop][会装]zookeeper安 ...

  9. 大数据技术之Hadoop3.1.2版本HA模式

    大数据技术之Hadoop3.1.2版本HA模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Hadoop的HA特点 1>.主备NameNode 2>.解决单点故障 ...

随机推荐

  1. 「杂烩」精灵魔法(P1908逆序对弱化版)

    「杂烩」精灵魔法(P1908逆序对弱化版) 题面: 题目描述 \(Tristan\)解决了英灵殿的守卫安排后,便到达了静谧的精灵领地--\(Alfheim\) .由于$ Midgard$ 处在$ Al ...

  2. Docker镜像-列出镜像

    列出镜像 镜像体积 虚悬镜像 中间层镜像 列出部分镜像 要想列出已经下载下来的镜像,可以使用docker images 或者 docker image ls 命令. $ docker image ls ...

  3. Dynamics CRM Data Encrytion error

    Dynamics CRM有两个Database,一个Content DB——xxxx_MSCRM,一个Config DB——MSCRM_CONFIG. 当Content DB从其他环境Restore回 ...

  4. Anbox补充:添加arm支持(失败!)

    写在开头: 本人是一边操作一边写博文的,折腾一下午写到最后失败了不舍得删,还是发上来记录一下我的操作,希望能有高人指点或者给同学们一点启发.以下的内容仅做观看即可,若无必要就不必尝试了. 之前写了一篇 ...

  5. Producter and Consumer

    package pinx.thread; import java.util.LinkedList; import java.util.Queue; public class ProducerConsu ...

  6. day7:字符串的操作/方法&字符串的格式化format&列表的操作

    字符串的相关操作 1.字符串的拼接 strvar = "vegeta"+"ble" print(strvar) # vegetable 2.字符串的重复 str ...

  7. Java8——方法引用

    方法引用就是通过类名或方法名引用已经存在的方法来简化lambda表达式.那么什么时候需要用方法引用呢?如果lamdba体中的内容已经有方法实现了,我们就可以使用方法引用. 一.方法引用的三种语法格式 ...

  8. bzoj3437小P的牧场

    bzoj3437小P的牧场 题意: n个牧场,在每个牧场见控制站的花费为ai,在该处建控制站能控制从此处到左边第一个控制站(或边界)之间的牧场.一个牧场被控制的花费等于它到控制它的控制站之间的牧场数目 ...

  9. Burp Suite Extender Module - 扩展模块

    模块功能: 在扩展模块可以通过使用自定义代码,进行Burp 的自定义操作. 1. Burp Extensions页面 2. BApp Store中可以购买和安装别人写好的扩展功能 3. 在APIs界面 ...

  10. OSCP Learning Notes - File Transfers(2)

    Metasploit Target Server: Kioptrix Level 1 (1) Start the Metasploit on Kali Linux. (2) Set the modul ...