HDFS及NameNode元数据管理机制细节

HDFS及NameNode元数据管理机制细节_第1张图片

NameNode是 整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求。
文件包括:
fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。
edits:操作日志文件。
fstime:保存最近一次checkpoint的时间
以上这些文件是保存在linux的文件系统中。

NameNode 的工作特点
Namenode 始终在内存中保存 metedata ,用于处理“读请求”
到有“写请求”到来时, namenode 会首先写 editlog 到磁盘,即向edits文件中写日志,成功返回后,才会修改内存,并且向客户端返回
Hadoop 会维护一个 fsimage 文件,也就是 namenode metedata 的镜像,但是 fsimage 不会随时与 namenode 内存中的 metedata 保持一致,而是每隔一段时间通过合并 edits文件来更新内容。Secondary namenode 就是用来合并 fsimage 和edits文件来更新NameNode的 metedata 的。

SecondaryNameNode 的工作流程
1. secondary 通知 namenode 切换 edits文件
2.secondary namenode 获得 fsimage edits(通过http)
3.secondary fsimage 载入内存,然后开始合并 edits
4.secondary 将新的 fsimage 发回给 namenode
5.namenode 用新的 fsimage 替换旧的 fsimage
HDFS及NameNode元数据管理机制细节_第2张图片

你可能感兴趣的:(HDFS,Hadoop,HDFS)