我们有只有 2 个数据节点机器的 Hadoop 集群
在HDFS
配置中,我们定义了Block replication
to3
所以
Block replication=3
可以吗?定义Block replication=3
,当我们在集群中只有两个数据节点时
根据我的理解,当我们replication=3
在集群中有 2 个数据节点机器时定义 BlockHDFS
意味着一台机器应该有 2 个副本,而另一台机器应该有一个副本,我在这里正确吗?
复制因子的全部目的是容错。例如复制因子是 3,如果我们从集群中丢失了 hadoop 数据节点,我们可以在集群中再复制 2 个副本。因此,在您的情况下,如果数据节点数量为 2,并且复制因子为 3,则如果节点 a 将有 2 个副本,而另一个节点 b 有 1 个副本(比如说),则可以。如果我们丢失了节点-a 或节点-b,那么我们将在其他节点中获得可用的数据来服务于目的。除了节点-a 将占用双倍空间这一事实之外,这是不必要的,因为复制因子 2 本身已经满足容错目的。
同样,整个解释都针对您的情况。当在具有超过 2 个节点的集群中可视化时,整个概念会更有意义。
以下是 hadoop 文档 https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html#Data+Replication的详细解释