- 博客(4)
- 资源 (3)
- 收藏
- 关注
原创 HDFS源码解析---DataTransferThrottler(流量控制)
简介DataTransferThrottler类别Datanode读取和写入数据时控制传输数据速率。这个类是线程安全的,它可以由多个线程共享。用途是构建DataTransferThrottler对象,并设置期限period和带宽bandwidthPerSec,际读写前调用DataTransferThrottler.throttle()方法。假设I/O的速率相对给定的带宽太快,则该方法会将当前线程wait。构造函数双參构造函数,能够设置周期period和带宽ba...
2021-08-31 14:57:27 319
原创 HDFS源码解析---数据块
Block、Replica、BlocksMapBlock类Block类用来唯一标识Namenode中的数据块,是HDFS数据块最基本的抽象接口。Block类实现了Writable接口,可以进行序列化。Block类还实现了Comparable接口,按照blockid大小排序。 Block类定义了三个字段。blockId(唯一标识了这个block对象) numBytes(数据块大小,单位是字节) generateStamp(数据块的时间戳)private...
2021-08-27 15:57:11 423
原创 HDFS源码解析---Balancer
HDFS Balancer概述在输入启动命令的那台机器上会启动一个进程,为了避免给namenode带来过大的负担,整个balance过程由balance server而不是namenode来控制。Balancer的最终结果是namenode上记录的一个block的一个副本从一个datanode转移到另一个datanode上。PS:副本放置策略 第 2 个副本存放于不同于第 1 个副本所在的机架 第 3 个副本存放于第2个副本所在的机架,但 是属于不同的节点 .
2021-08-25 15:36:52 4526
原创 HDFS源码解析---Decommission
HDFS DecommissionintroductionDecommissionManager管理数据节点停用。 后台监控线程定期检查正在进行停用的数据节点的状态。源码分析/** * Manage node decommissioning. * 节点Decommission操作状态管理器 */class DecommissionManager { static final Log LOG = LogFactory.getLog(DecommissionManager..
2021-08-17 20:31:07 30310
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人