当前位置: 首页 > news >正文

【HDFS】BlockManager#checkRedundancy方法详解

BlockManager#checkRedundancy这个方法只有一处调用点,
就是FSNamesystem#finalizeINodeFileUnderConstruction方法。

TODO:补充FSNamesystem#finalizeINodeFileUnderConstruction方法的调用点。

checkRedundancy方法的参数的BlockCollection对象bc,解释一下,INodeFile类是BlockCollection接口的实现类,所以这里可以把bc理解成INodeFile对象(即一个文件),BlockCollection接口提供了getBlocks方法,用于获取这个对象的所有块信息(返回值是BlockInfo[])。

此方法的功能是:检查bc的每个块是否有充足的冗余度。如果冗余度不够,则可能有丢失数据的风险,因此需要添加到reconstruction的队列里。 如果冗余度超了期望的replication factor,则浪费存储空间,需要把它当做extra redundancy block来处理,删除多余冗余副本恢复到期望replication factor个副本数。

  /*** Check sufficient redundancy of the blocks in the collection. If any block* is needed reconstruction, insert it into the reconstruction queue.* Otherwise, if the block is more than the expected replication
http://www.lryc.cn/news/113639.html

相关文章:

  • c++ 拷贝构造
  • MISRA 2012学习笔记(1)-Directives
  • 升级node版本后vue2的项目node-sass、sass-loader安装报错(14.x升级到16.x)
  • 深入理解CSS选择器:选择正确的方式掌控样式与布局
  • qt设置控件的风格样式
  • 简单易懂的Transformer学习笔记
  • C语言经典小游戏之三子棋(超详解释+源码)
  • 宝塔Linux面板点击SSL闪退打不开?怎么解决?
  • Problem: 6953. 判断是否能拆分数组
  • MobiSys 2023 | 多用户心跳监测的双重成形声学感知
  • Netty:ChannelInitializer添加到ChannelPipeline完成任务以后会自动删除自己
  • 【VUE】项目本地开启https访问模式(vite4)
  • 【状态估计】一维粒子滤波研究(Matlab代码实现)
  • 设计模式-迭代器模式在Java中使用示例
  • Maven入职学习
  • 【多音音频测试信号】具有指定采样率和样本数的多音信号,生成多音信号的相位降低波峰因数研究(Matlab代码实现)
  • LeetCode150道面试经典题-删除有序数组中的重复项(简单)
  • 人大金仓数据库Docker部署
  • Leetcode-每日一题【剑指 Offer 07. 重建二叉树】
  • Shell编程快速入门
  • wpf 3d 坐标系和基本三角形复习
  • 如何安全变更亚马逊收款账户?
  • 大数据面试题:Hadoop中的几个进程和作用
  • 题解:ABC276D - Divide by 2 or 3
  • 后台管理系统
  • C++数据结构之平衡二叉搜索树(一)——AVL的实现(zig与zag/左右双旋/3+4重构)
  • 静态库和动态库
  • 用于Voronoi图构建的Fortune算法的C++实现
  • 笔记汇总 | 斯坦福 CS229 机器学习
  • git 版本管理工具 学习笔记