hadoop学习笔记肆--元数据管理机制
1、首先,认识几个名词
(1)、NameNode中读、写、以及DataNode映射等信息叫做“元数据” ,NameNode元数据存放位置有、内存、fsimage、edits log三个位置。
(2)、edits log:记录当前最新的元数据。
(3)、元数据内存:实际在用的元数据。
(4)、fsimage:元数据内存实体文件,fsimage与NameNode内容是是一样的(最全元数据)
当edits log文件大小达到阈值,会将edits log元数据写入到fsimage文件,并清除edits log中的元数据。
2、NameNode管理元数据方式
(1)、客户端上传文件时NameNode首先会向edits log文件中记录元数据信息。
(2)、客户端上传文件,完成后返回成功信息到NameNode,NameNode将本次上传操作产生新的元数据信息写入到内存中。
(3)、每当editslog文件写满时,SecondeNameNode会将editslog中的元数据同步合并到fsimage中,且清空editslog
(4)、同步数据(checkpiont)触发方式:fs.checkpoint.period 指定两次checkpoit的最大时间间隔,默认为3600秒
:fs.checkpoint.size 规定ediits文件最大值,一旦超过这个值则强制checkpoint,不管是否到最大时间间隔,默认为64M
3、SecondeNameNode对editslog、fsimage文件同步合并方式
(1)、当editslog文件写满时,NameNode向SecondeNameNode发出请求,通知SecondeNameNode进行文件editslog与fsimage合并。
(2)、SecondeNameNode做出响应,并通知NameNode创建新文件edits.new,且向edits.new文件写入元数据
(3)、SecondeNameNode下载editslog、fsimage文件到SecondeNameNode主机
(4)、SecondeNameNode将下载editslog、fsimage文件做同步合并合并文件为:fsimage.chkpoint
(5)、将合并文件fsimage.chepoint上传到NameNode中fsimage同目录
(6)、重命名fsimage.chepoint文件为fsimage
(7)、重命名edits.new为edits
4、nameNode 元数据存储格式
nameNode(FileName、replicas、block-ids、id2host。。。)
名词解释:FileName:文件名称
replicas:副本个数
block-ids:blockid
后面是文件在dataNode位置
列:/home/test.log,3,{blk_1,blk_2},[{blk_1:[h0,h1,h2]},{blk_2:[h0,h1,h2]}]
不得不说,为了保证元数据的完整性,可靠性hadoop开发者没少下功夫
hadoop学习笔记肆--元数据管理机制的更多相关文章
- Hadoop学习笔记(2)
Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...
- Hadoop学习笔记(2) ——解读Hello World
Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...
- hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结
本文原创,转载注明作者和原文链接! 一:总结注意点: 到现在为止学习到的角色:三个NameNode.SecondaryNameNode.DataNode 1.存储的是每一个文件分割存储之后的元数据信息 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Hadoop学习笔记(6) ——重新认识Hadoop
Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...
- Hadoop学习笔记(1) ——菜鸟入门
Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...
- Hadoop学习笔记(两)设置单节点集群
本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...
- Java虚拟机学习笔记——JVM垃圾回收机制
Java虚拟机学习笔记——JVM垃圾回收机制 Java垃圾回收基于虚拟机的自动内存管理机制,我们不需要为每一个对象进行释放内存,不容易发生内存泄漏和内存溢出问题. 但是自动内存管理机制不是万能药,我们 ...
- SQL反模式学习笔记9 元数据分裂
目标:支持可扩展性.优化数据库的结构来提升查询的性能以及支持表的平滑扩展. 反模式:克隆表与克隆列 1.将一张很长的表拆分成多张较小的表,使用表中某一个特定的数据字段来给这些拆分出来的表命名. 2.将 ...
随机推荐
- h5网页水印SDK的实现代码示例
在网站浏览中,常常需要网页水印,以便防止用户截图或录屏暴露敏感信息后,追踪用户来源.如我们常用的钉钉软件,聊天背景就会有你的名字.那么如何实现网页水印效果呢? 网页水印SDK,实现思路 1.能更具获取 ...
- JS动态创建元素
动态添加标签,可从服务器获取标签文本,然后加载到指定div中,可用于权限控制. 1.添加标签字符串方式 var str='<div>5555555555555555555555555555 ...
- kubernetes认证和serviceaccount
Service Account 为 Pod 提供必要的身份认证.所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 usera ...
- 洛谷P4103 [HEOI2014]大工程(虚树 树形dp)
题意 链接 Sol 虚树. 首先建出虚树,然后直接树形dp就行了. 最大最小值直接维护子树内到该节点的最大值,然后合并两棵子树的时候更新一下答案. 任意两点的路径和可以考虑每条边两边的贡献,\(d[x ...
- CSS超全笔记(适合新手入门)
CSS CSS初识 CSS(Cascading Style Sheets) 美化样式 CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体.大小.对齐方式等 ...
- (后端)解决code唯一码(java)简便方法
public String next() { long appBootTimes = systemVariableService.getAppBootTimes(); return Long.toSt ...
- [20181031]12c 在线移动数据文件.txt
[20181031]12c 在线移动数据文件.txt --//12c以前,移动或者改名数据文件是一项比较麻烦的事情,至少要停一下业务.而12c支持在线移动或者改名数据文件,并且有点不可思议--//的是 ...
- JavaWeb入门笔记
Java web笔记 一.HTTP协议 HTTP(超文本传输协议),它是一种主流B/S架构中应用的通信协议.具有以下特点: 1.无状态 服务端不会记录客户端每次提交的请求,服务器一旦相应客户端之后,就 ...
- 数据库之mysql篇(4)—— navicat操作mysql
navicat 1.简介: navicat是一个软件,旗下针对不同数据库有不同的软件版本,支持以下数据库,还是挺厉害的: 这里我采用navicat for mysql版本.实现图形化的操作mysql, ...
- SQL Server 提供的各种数据访问接口
在创建SQL Server的链接服务器时,可以看到有如下几种访问接口,其中我们常用的只有1.3.4.6.其中4是安装Oracle客户端才会出现的接口,3.6是由于我电脑上装了2008R2和2012两个 ...