为什么cloudera 5.12 vm中的默认复制因子为1,而先前版本中的默认复制因子为3?

问题描述

如果认复制因子从3更改为1,那么我们是否不会失去hdfs的可靠性? Hadoop工程师如果由于某种原因而崩溃或删除了该块,该如何获取该块的唯一副本?

解决方法

在虚拟机中它可能为1,因为它只有一个datanode进程。如果在VM上将其设置为3,则您创建的所有文件都将被复制不足,HDFS将无法修复它们。

在具有许多数据节点的真实群集上,默认值应为3。

,

关于您的问题

为什么在Cloudera 5.12 VM中默认复制因子为1 在以前的版本中是3呢?

我检查了有关DataNodes的文档,发现

HDFS的默认复制因子为3。也就是说,始终保留三个数据副本。

因此,似乎不是一般的Cloudera软件发行版,而是Cloudera QuickStart VM 5.12的特定情况。

如果默认复制因子从3更改为1,那么我们是否不会失去HDFS的可靠性?

您对此表示正确。

如果块由于某种原因而崩溃或删除,Hadoop工程师如何才能检索该块的唯一副本?

这也是不可能的。

正如@ Stephen ODonnell所述

在虚拟机中它可能为1,因为它只有一个数据节点进程。

在单个虚拟(演示?)环境中,可能不需要或不需要许多节点的资源,高可用性等。

如果在VM上将其设置为3,则您创建的所有文件都将被复制不足,HDFS将无法修复它们。

对于单个VM中的一个节点群集,可以节省资源。