当前位置: 首页 > 知识库问答 >
问题:

当节点少于复制因子时,HDFS如何进行复制?

羊舌源
2023-03-14

例如,如果Hadoop集群由2个数据阳极组成,并且HDFS复制因子设置为默认值3,那么如何复制文件的默认行为是什么?

从我读到的内容来看,HDFS似乎是基于机架感知的,但对于这种情况,有人知道它是如何确定的吗?

共有1个答案

呼延卓
2023-03-14

它会认为这些块是复制不足的,它会不断地抱怨这一点,并且它会永久地尝试使它们达到预期的复制因子。

HDFS系统有一个参数(replication factor-默认为3),它告诉namenode每个块应该如何复制(默认情况下,每个块应该根据给定的副本放置策略在整个集群中复制3次)。在系统设法将每个块复制到复制因子指定的次数之前,它将继续尝试这样做。

 类似资料:
  • 我想从父节点复制到子节点。我真的不确定这是如何实现的。 我的源xml 我想得到输出为 我想要XSLT1.0中的解决方案。 我想将这些节点复制到子节点 谢谢。

  • 我需要将子元素复制到父元素中。 输入 期望输出 我尝试的内容(输出与输入保持相同): 我肯定会错过一些非常简单的事情。子元素与父元素具有相同的名称,这应该不是问题?

  • 节点复制是另一种追踪式收集,在回收阶段和标记-清除采用了不同的策略,简单地说,标记-清除主动释放垃圾,而节点复制是将可达集拷贝出来,然后统一回收整块内存 前面说过,据统计80%~98%的对象在建立之后很快就会销毁,由此可以预见,在正常情况下,当启动垃圾回收的时候,可达集和垃圾集合是不成比例的,堆空间中很可能只有少部分的内容可达,剩下都是垃圾,标记-清除算法的时间和对象数量相关,而节点复制由于只拷贝

  • 我需要以下xslt代码方面的帮助。我的意见如下: 我的预期输出为: 我曾尝试使用*/text()获取值节点的值,但我只从第一个孩子获得文本。将来我有很多这样的子元素。 提前谢谢。 你好,Minakshi

  • 问题内容: 我有3个数据节点在运行,在运行作业时出现以下错误提示, java.io.IOException:文件/ user / ashsshar / olhcache / loaderMap9b663bd9只能复制到0个节点,而不是minReplication(= 1)。有3个数据节点在运行,并且此操作中不包括3个节点。在org.apache.hadoop.hdfs.server.blockma

  • 对于伸缩/故障转移,mongodb使用“副本集”,其中有一个主服务器和一个或多个辅助服务器。Primary用于写操作。中学用于阅读。这几乎是SQL编程中使用的主从模式。如果主节点下降,则次节点集群中的次节点将取代它的位置。因此,水平伸缩和故障转移的问题得到了解决。然而,这似乎不是一个允许分叉的解决方案。一个真正的碎片只保存整个数据的一部分,所以如果副本集中的次要碎片是碎片,当它没有服务请求所需的所