Hadoop--namenode的架构

Hadoop–namenode的架构

一.namenode的工作目录

namenode的工作目录位置配置在core-site.xml文件内 ,namenode的目录如下:
在这里插入图片描述

  • edits_0000xxxx -> 数据历史操作日志文件
  • edits_inprogress_000xxx -> 数据预写操作日志文件
  • fsimage_000xxx -> 磁盘元数据镜像文件
  • VERSION -> HDFS版本信息的描述文件
  • in_use.lock -> 一个锁文件,namenode使用该文件为存储目录枷锁,避免其它namenode实例同时使用同一个存储目录的情况

二.VERSION(存放 hdfs 集群的版本信息)文件解析:

#Sun Jan 06 20:12:30 CST 2017 ## 集群启动时间
namespaceID=844434736 ## 文件系统唯一标识符
clusterID=CID-5b7b7321-e43f-456e-bf41-18e77c5e5a40 ## 集群唯一标识符
cTime=0 ## fsimage 创建的时间,初始为 0,随 layoutVersion 更新
storageType=NAME_NODE ##节点类型
blockpoolID=BP-265332847-192.168.123.202-1483581570658 ## 数据块池 ID,可以有多个
layoutVersion=-60 ## hdfs 持久化数据结构的版本号

三.namenode的元数据存储机制

1.内存中有一份完整的元数据文件matedata;

2.磁盘中有持久化元数据镜像文件fsimage和edits操作文件(edits,edits_inprogress);

3.操作文件,edits和edits_inprogress,edits_inprogress是可以打开的,操作日志写在这里面;

4.edits文件不会一直增长,会有一个和镜像文件fsimage合并的过程(CheckPoint)。

四.元数据的CheckPoint

每隔一段时间,会由 secondary namenode 将 namenode 上积累的所有 edits 和一个最新的fsimage 下载到本地,并加载到内存进行 合并(这个过程称为 checkpoint)。

CheckPoint 详细过程图解:

在这里插入图片描述

CheckPoint 触发配置

触发条件:默认3600s或者操作1000000次

dfs.namenode.checkpoint.check.period=60 ##检查触发条件是否满足的频率,60 秒
dfs.namenode.checkpoint.dir=file://${hadoop.tmp.dir}/dfs/namesecondary
##以上两个参数做 checkpoint 操作时,secondary namenode 的本地工作目录
dfs.namenode.checkpoint.edits.dir=${dfs.namenode.checkpoint.dir}
dfs.namenode.checkpoint.max-retries=3 ##最大重试次数
dfs.namenode.checkpoint.period=3600 ##两次 checkpoint 之间的时间间隔 3600 秒
dfs.namenode.checkpoint.txns=1000000 ##两次 checkpoint 之间最大的操作记录
CheckPoint 附带作用

Namenode 和 SecondaryNamenode 的工作目录存储结构完全相同,所以,当 Namenode 故障退出需要重新恢复时,可以从SecondaryNamenode的工作目录中将fsimage拷贝到Namenode的工作目录,以恢复 namenode 的元数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值