namenode功能与作用机制
namenode## 作用与机制
作为整个HDFS集群和文件系统的管理者,namenode的功能主要可总结为以下四点
1、管理HDFS的命名空间,并以fsimage进行持久化保存。
HDFS命名空间即文件目录树及其目录与文件的元数据,为了处理的高效性,namenode会在内存中维护这部分元数据,同时为了安全性,也需要将这些数据永久化到磁盘中,具体则是通过fsimage和edits两个文件进行实现
fsimage 是命名空间镜像文件,是文件系统元数据的完整的永久检查点,可理解为文件系统的存档或者快照,由于文件系统往往较为庞大,实时对其进行记录将非常影响性能。这里采用的策略是只每隔一段时间记录一次完整的文件系统镜像(即建立检查点),而中间的变化则是通过将用户的所有操作记录到编辑日志edits文件中进行保存,这样只需要在最近一次的fsimage上推演edits文件中记录的操作,便可得到最新的文件系统。新一个检查点的建立,便是通过合并上一个检查点和edit文件获得的(在上一个检查点上推演其后的edit文件中的操作),这样的操作会消耗大量的cup和内存资源,因此将合并检查点和edit文件的工作将给secondarynamebode进行处理
fsimage和edits文件的存储路径分别由配置文件中的dfs.name.dir和dfs.name.edits.dir所决定,其默认的路径均是/tmp/hadoop/dfs/name
进入该路径后,可见以下目录
edits文件中的数值后缀是其中记录的事务ID,edits会从1开始记录所有事务
fsimage的数字后缀为该检查点同步的最后一个事务ID。可以看出,不同于edits记录所有的事务,系统只会保留最新的两个检查点
2、处理客户端的访问,并将修改动作记录到edits文件中
namenode负责处理客户端的请求并返回块文件对应的datanode地址,具体的读写操作由datanote进行。namenode将修改动作全部记录到edits文件中,协助fsimage 维护命名空间
3、在内存中维护数据块的映射信息。
即块文件与datanode的对应关系,namenode只在内存中维护此关系,不会永久化到磁盘上,因此在集群刚启动是,namenode中并没有块文件与datanode的对应关系,需要datanode上报自身的块文件信息后,才可以正常工作
4、实施副本冗余策略
当发现块的实际副本数小于配置数时,会启动复制块的线程,直到个数达到配置数
参考:《hadoop权威指南》
namenode功能与作用机制相关推荐
- Secondary Namenode的Check point机制以及Namenode、Datanode工作机制说明
目录 前言: 1.NameNode的工作机制 2.DataNode的工作机制 3.Secondary Namenode的Check point机制 目录 前言: 在说明checkpoint机制之前,先 ...
- namenode和datanode工作机制_HDFS详解一:namenode、datanode工作原理
1. 概述HDFS集群分为两大角色:NameNode.DataNode(Secondary NameNode) NameNode负责管理整个文件系统的元数据,记录存放在哪些datanode中,以及存放 ...
- OSI第二层:数据链路层功能及作用
OSI七层模型第二层:数据链路层,Data Link Layer 数据链路层工作在两台设备互联的这条链路之间,为每一段单独的链路解决数据传递的问题. 那么,一条链路上有什么呢? 首先搞清楚一个概念:不 ...
- Microbiome:南土所褚海燕组揭示长期施肥抑制根际微生物固氮的作用机制
原文链接 https://microbiomejournal.biomedcentral.com/articles/10.1186/s40168-019-0757-8 南京土壤所揭示长期施肥抑制根际微 ...
- Hadoop之NameNode和SecondaryNameNode工作机制详解
Hadoop之NameNode和SecondaryNameNode工作机制详解 NN和2NN工作机制 NN和2NN工作机制详解 Fsimage和Edits解析 checkpoint时间设置 1. NN ...
- eclipse中的clean和build功能的作用是什么
首先说一说build的作用. build顾名思义就是建立,创建的意思.我们一般在eclipse中设定build automatically,即自动编译,就是当你修改完Java代码,然后保存的时候就自动 ...
- Nature Microbiology | 陈云/白洋/虞云龙等鉴定高效抗小麦赤霉病菌株及其作用机制...
镰刀菌子实体微生物组中成团泛菌通过靶向脂筏抑制真菌发病 Fusarium fruiting body microbiome member Pantoea agglomerans inhibits fu ...
- Enzo CYTO-ID自噬检测试剂盒特点作用机制
艾美捷 Enzo CYTO-ID ®自噬检测试剂盒 2.0:一种用于监测活细胞自噬的更明亮.更耐光.无转染的定量检测方法. CYTO-ID ®自噬检测试剂盒 2.0 使用一种选择性标记积累的自噬泡的新 ...
- 对普通函数、宏函数、内联函数的作用机制的探索
这次我们来分析的是C/C++程序员经常遇到的问题,如何在普通函数.宏函数.内联函数之间做取舍,其实它们三者之间并没有什么绝对的你好我差的说法,只要掌握了三者的作用机制的话,结合实际情况一般都能做出正确 ...
最新文章
- 快速排序算法(基于Java实现)
- educoder 使用线程锁(lock)实现线程同步_性能:Lock的锁之优化
- 世卫组织希望两年之内结束新冠大流行,最终将进入季节性模式
- 跨链Cosmos(4)Tendermint Core
- 单元测试源码分析之二Mockito自动装配和插桩
- 【大话存储】多CPU架构变迁, SMP,NUMA,MPP
- 怎么在电脑上看磁盘分配单元的大小_电脑磁盘到底该不该分区?怎么分区?
- Linux 进程后台运行
- 数据分析初学者必备!10分钟搭建RFM客户价值模型,一学就会
- webstorm+nodejs环境中安装淘宝镜像
- 使用 SoundSource 取代Mac系统内置的音量控制器
- 【Amoeba】amoeba实现mysql读写分离
- 关于weight_decay的设定
- matlab中画圆圈,如何在Matlab中绘制圆圈?
- 大四实习生的日常(一)
- Android webView 实现阻尼回弹效果
- 【高项】各章节知识点概括
- Python xlrd读取Excel背景色
- Codeforces Round #702 (Div. 3)
- 2021 OWASP TOP 1: 失效的访问控制
热门文章
- D3S A Discriminative Single Shot Segmentation Trac,tracking by segm最后的希望,不同于tracking by siamese
- winform中自定义控件里面的控件随着自定义控件的改变而改变
- 统计用户输入的一串数字中每个数字出现的次数
- 关于Unity3D动态生成连续性网格几何体总结【第三部分】(贴图篇)
- css关于width和height的计算方式
- Navicat Premium 15设置oracle主键自增
- RimWorld 代码机制:伤害机制与伤害类型
- vue循环生成echarts图表
- Revit API Hook 之 拦截鼠标双击元素事件
- 成本控制扼杀创新,现在是诺基亚。下一个呢?