

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon EMR 集群错误：HDFS replication factor error
<a name="emr-hdfs-insufficient-replication"></a>

当您从核心[实例组](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-uniform-instance-group.html)或[实例集](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html)中删除核心节点时，Amazon EMR 可能会遇到 HDFS 复制错误。当您删除核心节点并且核心节点数低于为 Hadoop Distributed File System（HDFS）配置的 [dfs.replication 因子](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hdfs-config.html)时，会发生此错误。因此，Amazon EMR 无法安全执行操作。要确定 `dfs.replication` 配置的默认值，请使用 [HDFS 配置](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hdfs-config.html)。

## 可能的原因
<a name="emr-hdfs-insufficient-replication-possible-causes"></a>

有关导致 HDFS 复制因子错误的可能原因，请参见下文：
+ 如果您手动将核心实例组或实例集的[大小调整](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-resize.html)为低于配置的 `dfs.replication` 因子。
+ 您的[托管扩展](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html)或[自动扩展](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html)策略可能允许扩展，将核心节点的数量减少到 `dfs.replication` 阈值以下。
+ 如果 Amazon EMR 尝试在集群具有 []() 定义的最小核心节点数时[替换](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-node-replacement.html)运行状况不佳的核心节点，也可能发生此错误。

## 解决方案和最佳实践
<a name="emr-hdfs-insufficient-replication-best-practices"></a>

有关解决方案和最佳实践，请参见下文：
+ 手动调整 Amazon EMR 集群的大小时，请勿将其缩减到 `dfs.replication` 以下，因为 Amazon EMR 无法安全完成大小调整。
+ 使用托管扩展或自动扩展时，请确保集群的最小容量不低于 `dfs.replication` 因子。
+ 核心实例的数量应至少为 `dfs.replication`\$11。这样可确保在启用运行状况不佳的核心替换的情况下，Amazon EMR 成功替换运行状况不佳的核心节点。

**重要**  
如果将 `dfs.replication` 设置为 1，单个核心节点故障可能会导致 HDFS 数据丢失。如果您的0集群具有 HDFS 存储，建议您为集群配置至少四个核心节点用于生产工作负载，以避免数据丢失，并将 `dfs.replication` 因子至少设置为 2。