将复制因子设置为0会发生什么

Sur*_*aja 1 hadoop

在多节点集群中我们可以将hadoop块复制因子设置为0吗?

那可能吗?如果可能那么会发生什么?

如果我们在单个伪模式集群中将hadoop块复制因子设置为0,会发生什么?

Sac*_*inJ 5

在单节点和多节点配置中,您无法将文件的复制因子设置为零.执行将失败,出现以下错误.

replication must be >= 1
Run Code Online (Sandbox Code Playgroud)

当我们收到此错误时:

要在HDFS中更改文件的复制因子,我们需要使用命令hadoop fs -setrep <rep_factor> path,如果在上一个命令中使用0作为复制因子,则会出现此错误.您不能使用配置xml文件来更改HDFS中文件的复制因子,在将文件复制到HDFS时,dfs.replication将使用客户端配置xml文件中的值.

即使您在客户端配置中将dfs.replication指定为0,或者hadoop fs -Ddfs.replication=0 -put testfile.txt /在将文件复制到HDFS时将命令本身(as )指定为该命令,该命令也会失败,但您将收到如下奇怪的消息

put: file /testfile.txt._COPYING_ on client X.X.X.X
Run Code Online (Sandbox Code Playgroud)