我只有在我的namenode中有这个:
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
在我的数据节点中,我有这个:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
现在我的问题是,复制因子是3还是1?
目前,
hdfs dfs -ls hdfs:///user/hadoop-user/data/0/0/0
的输出显示1个复制因子:-rw-r--r-- 1 hadoop-user supergroup 68313 2015-11-06 19:32 hdfs:///user/hadoop-user/data/0/0/0/00099954tnemhcatta.bin
感谢您的回答。
最佳答案
默认情况下,复制因子是3
,这在大多数分布式系统中都是标准的。如果复制因子设置为3(HDFS中的默认值),则将有一个原始块和两个副本。在大多数情况下,当我们在单节点群集(单机)上工作时,我们将其放入1
。因为如果我们取3,那么将没有任何好处,因为所有副本都在单台计算机上。如此简单的理解。在多节点群集中,在故障中使用的复制因子应为3,在单机中使用的复制因子应为1。