Hadoop的NameNode详解(超详细)

本文详细介绍了Hadoop的NameNode,包括其管理DataNode和元数据(如虚拟存储路径、文件切块、数据块位置、复本数量及权限)的角色。NameNode将元数据存储在内存和磁盘中,磁盘上的元数据以edits和fsimage文件形式存在。NameNode运行流程涉及接收写请求、更新edits_inprogress文件、同步内存元数据、定期更新fsimage以及通过心跳机制管理DataNode。此外,讨论了安全模式及其在HDFS重启中的作用。
摘要由CSDN通过智能技术生成

NameNode详解

  1. 管理DataNode和记录元数据Meta
  2. 元数据包含:

a. 记录数据的虚拟存储路径
b. 记录文件的切块数量
c. 记录数据块的存储位置
d. 记录数据块的复本数量
e. 记录文件权限

  1. 元数据的大小是在150B左右
  2. NameNode将元数据维系在内存以及磁盘中
  3. 元数据维系在内存中的目的是为了快速查询
  4. 元数据维系在磁盘中的目的是为了崩溃恢复
  5. 元数据的存储位置是由hadoop.tmp.dir属性决定,如果不配置则默认使用/tmp
  6. 元数据在磁盘中是以edits文件fsimage文件的形式存在
    a. edits:记录写操作
    b. fsimage:记录元数据。fsimage中的元数据和内存中的元数据并不是同步的

NameNode的运行流程

  1. 当NameNode接收到写请求之后,会先将该请求记录到edits_inprogess文件中,如果记录成功,则将该请求同步更新到内存中,修改内存中的元数据,内存修改完成之后会给客户端返回一个ack表示成功
  2. 在HDFS中,会给每一次的写操作分配一个编号 - 事务id - txid
  3. 当edits文件达到条件的时候会将操作更新到fsimage文件中,即修改fsimage文件中的元数据:

a. 空间维度:当edits_inprogress文件达到指定大小的时候就会触发更新,默认是64M&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值