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.将 ...
随机推荐
- jquery对象和DOM对象的相互转换详解
jquery对象和DOM对象的相互转换 在讨论jquery对象和DOM对象的相互转换之前,先约定好定义变量的风格如果获取的是jquery对象,那么在变量前面加上$,例如 var $varible = ...
- php小程序登录时解密getUserInfo获取openId和unionId等敏感信息
在获取之前先了解一下openId和unionId openId : 用户在当前小程序的唯一标识 unionId : 如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过unionid ...
- 【20190130】CSS-文字排版
字间距:letter-space:**px: 禁止中文词内换行:给每个单词设置 white-space: nowrap;
- 安装docker17.06.0版本报错和解决方法
本人在自己电脑的虚拟机里安装docker ce 17.06.0版本的时候报如下错误: [root@manager2 yum.repos.d]# yum install docker-ce-17.06. ...
- Python_基于Python同Linux进行交互式操作实现通过堡垒机访问目标机
基于Python同Linux进行交互式操作实现通过堡垒机访问目标机 by:授客 QQ:1033553122 欢迎加入全国软件测试交流群:7156436 实现功能 1 测试环境 1 代码实践 2 注 ...
- C# 利用ZXing.Net来生成条形码和二维码
本文是利用ZXing.Net在WinForm中生成条形码,二维码的小例子,仅供学习分享使用,如有不足之处,还请指正. 什么是ZXing.Net? ZXing是一个开放源码的,用Java实现的多种格式的 ...
- C#:获取视频某一帧的缩略图
读取方式:使用ffmpeg读取,所以需要先下载ffmpeg.网上资源有很多. 原理是通过ffmpeg执行一条命令获取视频某一帧的缩略图. 首先,需要获取视频的帧高度和帧宽度,这样获取的缩略图才不会变形 ...
- 几个时间:UTC、GMT、本地时间、Unix时间戳
UTC(Coordinated Universal Time)时间:协调世界时,即世界标准时间 GMT(Greenwich Mean Time):格林威治/格林尼治时间 GMT=UTC,均使用秒数来计 ...
- LeetCode题解之Find Bottom Left Tree Value
1.题目描述 2.问题分析 使用层序遍历思想 3.代码 int findBottomLeftValue(TreeNode* root) { if (root == NULL) ; queue<T ...
- 新闻思考-阿里进军游戏产业,苹果发力ARM芯片
2018.04.03 大家好,这是我开通博客的第一篇文章,我希望在这里分享我的知识,也学习更多的知识,希望大家学习愉快. 阿里进军游戏产业,拿下旅行青蛙的代理权.腾讯一直在进攻阿里的核心业务:电商和支 ...