问题描述
如果默认复制因子从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中的一个节点群集,可以节省资源。