hadoop复制因子优先级

rsaldnfx  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(370)

我的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

谢谢你的回答。

cig3rfwq

cig3rfwq1#

默认情况下,复制因子为 3 ,它是大多数分布式系统的标准。如果复制因子设置为3(hdfs中的默认值),则会有一个原始块和两个副本。大多数时候,当我们在单节点集群(单机)上工作时,我们把它 1 . 因为如果我们拿3,那就没有好处了,因为所有的拷贝都在一台机器上。这么简单的理解。在多节点集群中,复制因子应为3,在单机中,复制因子应为1。

whlutmcx

whlutmcx2#

打开hdfs-site.xml文件。该文件通常位于hadoop安装目录的conf/文件夹中。将以下属性更改或添加到hdfs-site.xml:

<property> 
<name>dfs.replication<name> 
<value>3<value> 
<description>Block Replication<description> 
<property>

您还可以使用hadoop fs shell在每个文件的基础上更改复制因子。
[jpanda@localhost ~]$hadoop fs–setrep–w 3/my/文件
或者,您可以更改目录下所有文件的复制因子。
[jpanda@localhost ~]$hadoop fs–setrep–w 3-r/my/dir

相关问题