Hadoop 如何减少HDFS目录中的复制因子及其';s的影响
我们使用的是Hortonworks HDP2.1(HDFS 2.4),复制因子为3。 我们最近停用了一个datanode,这在集群中留下了大量复制不足的块 群集现在正试图通过在其他节点之间分发复制不足的块来满足复制因素Hadoop 如何减少HDFS目录中的复制因子及其';s的影响,hadoop,hdfs,hortonworks-data-platform,Hadoop,Hdfs,Hortonworks Data Platform,我们使用的是Hortonworks HDP2.1(HDFS 2.4),复制因子为3。 我们最近停用了一个datanode,这在集群中留下了大量复制不足的块 群集现在正试图通过在其他节点之间分发复制不足的块来满足复制因素 我如何停止这个过程。我同意某些文件只复制两次。如果我将该目录中的复制因子更改为2,该进程是否会终止 对于包含3个副本的文件的目录,将复制因子设置为2会产生什么影响。集群是否会启动另一个进程,以删除每个文件(包含3个副本)的多余副本 谢谢你在这方面的帮助。也请分享参考资料。 谢谢
如果DataNode正常退役,则不应导致复制不足的块。不过,作为一种边缘情况,如果停用一个节点使总节点数低于文件上设置的复制系数,则根据定义,该文件的块将被复制。(例如,考虑一个具有3个数据元的HDFS集群。解散一个节点会导致剩余2个数据元,所以现在复制因子为3的文件在复制的块下。) 在停用期间,HDFS将承载在该DataNode上的块重新复制(复制)到群集中的其他DataNode,以便保持所需的复制系数。有关详情,请参阅:
有关这方面的更多详细信息,请参见“那么它不应该导致复制不足的块”的可能重复部分。不完全正确。如果机器数量等于复制系数,则在停用后,机器数量低于此系数,因此复制块不足是正常的。@banuj,谢谢您的评论。我对答案进行了编辑,以提及将集群缩小到小于文件复制因子的边缘情况。