HDFS Segment Block Report方案设计

前言


在上文HDFS全量块汇报(FBR)的限流机制中,笔者提到了对于目前HDFS FBR处理新的一个思路方向。大意是指将DataNode的块汇报粒度控制在NameNode这边来决定,而不是在DataNode这边。毕竟block report才是真正负责处理的角色。另一方面,单纯在DataNode端以per storage的方式进行block report拆分还不够灵活,随着实际存储密度性能的不断提升,每个storage所包含的block也将会不断的提升。基于这几点,社区曾经提出过讲block进一步进行逻辑上的拆分,拆成一个个小的segment段,然后在segment级别进行块的汇报。本文笔者来阐述的主题就是HDFS的基于Segment的Block Report设计。

Block的Segment划分


在这里Segment的意思是“片段”的意思,而对于FBR(Full Block Report)来说,我们的目标就是将一整块FBR拆成若干个小的Segment Block Report。因此这里需要做的一个事情是
将现有Block进行Segment划分。一种比较自然联想到的做法是根据Block Id进行区间划分,而社区的方案正是采用了这种方法的。

在每个Segment段内,代表的其实是一个range范围,从SegmentStart到SegmentEnd。 SegmentEnd-SegmentStart的值代表的是每个Segment所能包含的Block数。然后划分根据每个Block的Block Id进行Segment计算,然后进行划分,划分算

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值