HDFS的体系结构

主要包含的内容

HDFS主要包含三大进程:NameNode、SecondaryNameNode、DataNode。

NameNode介绍

NameNode是整个文件系统的管理节点。它的功能有:

  1. 维护整个文件系统的文件目录树
  2. 维护文件/目录的元信息
  3. 维护每个文件对应的数据块列表
  4. 负责接收用户的操作请求

NameNode在启动时会被加载到内存中。 NameNode在本次磁盘中主要包含的文件

  1. fsimage:文件系统的镜像。存储某一个时刻的源数据信息
  2. edits:存储用户的修改操作记录
  3. seed_txid:存储的是所有修改记录的顺序信息
  4. VERSION:保存版本信息等

以上文件的保存路径由hdfs-default.xml文件中的dfs.namenode.name.dir属性控制。

NameNode维护着两份关系

  1. File和Block list的关系,对应的关系信息存储在fsimage和edits文件中。当NameNode启动时,会把文件中的内容加载到内存中
  2. DataNode与Block的关系。当DataNode启动时,会把当前节点的Block信息和节点信息上报给NameNode

SecondaryNameNode介绍

功能:主要负责定期将edits文件中内容合并到fsimage中。合并的操作称为checkpoint,在合并的时候会对edits中的内容进行转换,生成新的内容将保存到fsimage文件中。出发checkpoint的两个条件:

  1. 时间过一个小时
  2. 时间小于一个小时,但是对hadoop的操作超过一百万次

注意点:在NamaNode的高可用(High Available)架构中没有SecondaryNameNode进程的,这个文件合并操作是由standby NameNode负责实现

DataNode

  1. 提供真实文件数据的存储服务
  2. HDFS会按照固定大小、顺序对文件进行划分并编号、划分好的每一个块称为一个Block。HDFS默认的Block块大小是128M
  3. HDFS中,如果一个文件小于一个数据块的大小,那么并不会占用整个数据块的存储空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值