Namenode学习(1)--概述
来源:互联网 发布:面向对象程序设计java 编辑:程序博客网 时间:2024/05/22 17:48
首先先明确namenode节点需要完成什么工作。
了解一个东西,一般可以从了解它的数据结构(存放什么东西),推断出它担任着什么责任,从事什么工作。
对于namenode,它维护着两种重要的信息:
1:文件元数据(目录/文件名称等)和其数据块索引;--常称为第一种关系;
2:数据块和datanode节点的对应关系。 -常称为第二种关系;
其中:
1.对于文件元数据和数据块索引:
其内容会保存在FSImage(命令空间镜像)和Editlog(编辑日志)中,这数据非常关键,一旦丢失将不可恢复,所以必须做持久化,目前是被namenode持久化在本地硬盘上的,存放的路径通过配置项“dfs.name.dir”来确定的。
2.对于数据块和datanode节点的对应关系:
这是在namenode节点和datanode节点启动后,由datanode节点主动上报,动态建立的,放在内存上。为何不参考上面的方式来存放(做持久化)?我想有如下两种原因:原因1:信息丢失后不影响数据的完整性(多副本机制),同时也是可恢复的,datanode节点会定时上报块信息;原因2:数据变动相对来说比较大,信息量很大,做持久化的代价很大。
为了描述第一种关系,namenode参考了已有文件系统(linux文件系统)的数据结构,i-node(索引节点)是很经典也很成功的描述文件目录结构的数据结构。
- Namenode学习(1)--概述
- Namenode学习(1)--初始化流程
- HDFS中namenode部分概述(一)
- HDFS中namenode部分概述(一)
- HDFS:NameNode概述,DataNode 概述
- HDFS源码学习(1)——NameNode主要数据结构
- JBPM学习(1)----概述
- Kotlin学习(1)概述
- hadoop hdfs总结 NameNode部分-- 概述
- NameNode 高可用整体架构概述
- Java学习笔记(1):1.概述之计算机语言概述
- Hadoop-2.4.1学习之NameNode -format源码分析
- 计算机网络学习笔记(1)概述
- OpenFLow协议学习笔记-(1)概述
- 数据结构和算法学习(1)-概述
- OpenGL学习(1)基本概述
- Python学习笔记-概述(1)
- [Havok学习笔记(1)] Havok概述
- 图片颜色空间转换
- 类别,属性,成员变量,arc学习总结
- Android获取文件夹路径 /data/data/
- javascript的正则匹配方法
- SQL 动态行变列转换
- Namenode学习(1)--概述
- FreeMarker的常用指令1
- git 的简单用法
- PictureEx 的用法
- 缓慢变化维SCD笔记
- IOS中Json解析的四种方法
- spring web mvc 的特点
- 关于ARM9协处理器CP15及MCR和MRC指令
- WinPE诸多“不能”你晓得不