如果一个数据块需要冗余,会将其加入pendingReplications集合,如果块副本冗余完毕到某DataNode节点,该DN节点会报告给NameNode,然后NameNode从pendingReplications将块删除,如果一致没报告上来,会在一定时间范围内存储在pendingReplications内。pendingReplications为Map<Block,PendingBlockInfo>类型集合,键为PendingBlockInfo类,该类包含了一个正在被冗余的块的信息,包含了系统开始冗余该块副本的时间,也记录了正在处理的块的副本数量,而PendingReplicationMonitor类就负责扫描pendingReplications内冗余请求超时的块,默认扫描周期为5分钟,超时时间也为5分钟,如果PendingReplicationMonitor内记录的时间戳timeStamp超过5分钟,则将该块加入timedOutItems集合,该集合会在后面的ReplicationMonitor管理器用到,会将该集合内存储的块再次放到neededReplications集合里面去。
hadoop2.0之HDFS集群管理:PendingReplicationMonitor
最新推荐文章于 2022-10-31 16:24:35 发布
本文详细介绍了Hadoop中数据块冗余机制的工作原理。当数据块需要冗余时,会被加入到pendingReplications集合中,并由PendingReplicationMonitor类进行超时检查,确保副本按预期完成复制。
2190

被折叠的 条评论
为什么被折叠?



