HDFS原理

本文深入探讨Hadoop分布式文件系统(HDFS)的工作原理,包括block的默认大小、多副本保存机制、NameNode与DataNode的角色及职责,以及数据读写流程。揭示了HDFS如何通过机架感知策略优化数据存储与检索,确保高可用性和数据一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

block默认大小128M dfs.block.size=128MB
保存多个副本

由Name Node, Secondary Name Node和Data Node组成

Name Node
存储元信息
1. 文件,文件目录的层级关系
2. 文件,文件目录的权限
3. 文件由哪些块组成
4. block和data node之间的映射

元数据保存在内存中

太多的小文件会造成 block过多(block不能跨文件), 元数据过多,给Name node造成较大的压力,同是, block较大能够减少磁盘寻址时间和传输时间

内存中的元数据会被持久化成fsimage, 对文件的操作会持久化到edit log中,secondary name node 会定期对fsimage和eidt log进行合并。Name node重启会根据fsimage恢复

Data Node
1. 为客户端提供读写服务
2. 根据Name Node的指示进行创建,删除,移动,复制
3. 心跳向Name Node报告block信息
4. Data Node之间的通信 ,块副本的处理(备份三分)

Block存放机制 - 机架感知 - 不同机架,不同机房。

写数据
1. client发送请求给name node
2. name node 接受请求然后为每个block分配data node (3个)
3. client和第1个data node 开始传递package1 (4 KB)
4. data node1 写完package1后,data node2,data node3一次开始复制package1
5. 同是data node1继续读取package2
6. 直到3个data node写完整个block,通知name node, name node再继续指定3个data node写入block2…

读数据
1. client向name node提交读请求
2. name node发送block 地址
3. client 从data node 读block

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值