元数据的存储机制  

A、内存中有一份完整的元数据(内存meta data)
B、磁盘有一个“准完整”的元数据镜像(fsimage)文件(在namenode的工作目录中)
C、用于衔接内存metadata和持久化元数据镜像fsimage之间的操作日志(edits文件)

NameNode和Secondary NameNode元数据管理机制

客户端每次对文件的操作,如果涉及到元数据的更新(读除外),比如说更改文件的名称,路径,移动,复制,上传,删除等,除了查之外,其他增删改都会有可能涉及到与元数据的更改。dfs不支持客户端更改文件内容,只能在文件后面追加。

注:当客户端对hdfs中的文件进行新增或者修改操作,操作记录首先被记入edits日志文件中,当客户端操作成功后,相应的元数据会更新到内存meta.data中。当日志里面累积的操作记录越来越多,与老的fsimage相差越来越大,这时候需要由Secondary NameNode定期把edits文件和老的fsimage做一个合并上传上NameNode替换掉老的fsimage,这时候NameNode上的fsimage文件和内存上的元数据永远保持在一个小的差距里面。NameNode工作时,它的元数据查询都是找内存的,不会去找fsimage,也不会去找edits。
 
XML处理器输出 fsimage 的 xml 文档,包含了 fsimage 中的所有信息,比如 inodeid 等。该处理器的输出支持XML工具的自动化处理和分析,由于XML语法格式的冗余,该处理器的输出也最大。实例如下:
[root@srv02 hadoop]# hdfs oiv -i fsimage  -p XML -o fsimage.xml
[root@srv02 hadoop]# cat fsimage.xml

edits文件是操作记录文件,也可以查看个究竟:

hdfs oev -i edits edits_0000000000000013356-0000000000000013357  -o edits.xml

  

 

Hadoop- NameNode和Secondary NameNode元数据管理机制的更多相关文章

  1. hdfs文件上传机制与namenode元数据管理机制

    1.hdfs文件上传机制 文件上传过程:   1.客户端想NameNode申请上传文件, 2.NameNode返回此次上传的分配DataNode情况给客户端 3.客户端开始依向dataName上传对应 ...

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

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

  3. HDFS元数据管理机制

    元数据管理概述 HDFS元数据,按类型分,主要包括以下几个部分: 1.文件.目录自身的属性信息,例如文件名,目录名,修改信息等. 2.文件记录的信息的存储相关的信息,例如存储块信息,分块情况,副本个数 ...

  4. 【Hadoop】HDFS原理、元数据管理

    1.HDFS原理 2.元数据管理原理

  5. hadoop学习笔记肆--元数据管理机制

    1.首先,认识几个名词 (1).NameNode中读.写.以及DataNode映射等信息叫做“元数据” ,NameNode元数据存放位置有.内存.fsimage.edits log三个位置. (2). ...

  6. 1 weekend110的NN元数据管理机制 + NN工作机制 + DN工作原理

    第一天的笔记,是伪分布hadoop集群搭建, 后面是hadoop Ha的分布式集群搭建 第一天,是HDFS的shell操作 NN工作机制 里面是二进制 DN工作原理 上传完了之后,在hdfs的虚拟路径 ...

  7. Secondary NameNode:的作用?

    前言 最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系.很多人都认为,Secondary NameNode是NameNode的备份,是为了防止 ...

  8. Secondary NameNode 的作用

    https://blog.csdn.net/xh16319/article/details/31375197 很多人都认为,Secondary NameNode是NameNode的备份,是为了防止Na ...

  9. Secondary NameNode:它究竟有什么作用?

    前言 最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系.很多人都认为,Secondary NameNode是NameNode的备份,是为了防止 ...

随机推荐

  1. AutoCAD参照编辑期间不允许使用 SAVE 命令怎么办

    如下所示,点击保存按钮的时候下方出现如下提示:参照编辑期间不允许使用 SAVE 命令,同时图变成灰褐色,也无法改变颜色   点击修改-外部参照和块编辑-保存参照编辑即可.可以发现图的颜色也变正常了. ...

  2. UISegmentedControl的具体使用

    当用户输入不不过布尔值时.可使用分段控件(UISegmentedControl).分段控件提供一栏button(有时称为button栏),但只能激活当中一个button. 分段控件会导致用户在屏幕上看 ...

  3. linux设备驱动程序之并发和竞态(二)

    事实上这blog都是阅读ldd3时的一些总结,巩固自己的学习.也方便后期的使用.大家也能够直接阅读ldd3原文. 锁陷阱         所谓的锁陷阱就是防止死锁.         不明白的规则:   ...

  4. C# DateTime和String(转)

    http://www.cnblogs.com/Pickuper/articles/2058880.html C#语言之“string格式的日期时间字符串转为DateTime类型”的方法 方法一:Con ...

  5. Web安全系列(二):XSS 攻击进阶(初探 XSS Payload)

    什么是 XSS Payload 上一章我谈到了 XSS 攻击的几种分类以及形成的攻击的原理,并举了一些浅显的例子,接下来,我就阐述什么叫做 XSS Payload 以及从攻击者的角度来初探 XSS 攻 ...

  6. 一步一步实现视频播放器client(二)

    实现主体界面:                 222.png (64.46 KB, 下载次数: 0) 下载附件  保存到相冊 前天 21:02 上传 比較常见的一种布局.以下几个button.点击后 ...

  7. linux下安装最新版Subversion 1.8.9

    linux下安装最新版subversion,代码: [root@localhost subversion-1.8.9]# ./configure --prefix=/usr/local/subvers ...

  8. 迁移,移动.vagrant.d目录

    默认在 C:\Users\***\.vagrant.d 然后下面有boxes目录 想迁移到其它目录 setx VAGRANT_HOME "/d/.vagrant.d/" setx ...

  9. android shareSDK 微博分享案例

    android shareSDK 微博分享案例 ShareSDK APP_KEY 219b1121fc68 腾讯微博 key 801517904 secret bfba83ae253c8f38dabe ...

  10. EntityFramework走马观花之CRUD(中)

    如果是独立的实体对象,在底层数据库中它对应一张独立的表,那么,对它进行新建.删除和修改没有任何难度,实在不值浪费笔墨在它上头. 在现实项目中,完全独立的对象少之又少,绝大多数情况都是对象之间有着紧密的 ...