注意事项和最佳实践 - Amazon EMR

注意事项和最佳实践

具有多个主节点的 Amazon EMR 集群的限制:

  • 您无法将 Amazon EMR 集群与具有实例集的多个主节点结合使用。有关适用于多个主节点的 Amazon EMR 功能的更多信息,请参阅 支持的应用程序和功能

  • 如果任意两个主节点同时发生故障,Amazon EMR 将无法恢复集群。

  • 具有多个主节点的 Amazon EMR 集群无法容忍可用区故障。在可用区中断的情况下,您将无法访问 EMR 集群。

  • 除了 具有多个主节点的 Amazon EMR 集群中支持的应用程序 中指定的开源应用程序之外,Amazon EMR 不保证其他开源应用程序的高可用性功能。

  • 在 Amazon EMR 版本 5.23.0 到 5.30.1 中,三个主节点中只有两个运行 HDFS NameNode。

配置子网的注意事项:

  • 具有多个主节点的 Amazon EMR 集群仅可驻留在一个可用区或子网中。如果在发生失效转移时子网被充分利用或超额订阅,则 Amazon EMR 无法替换发生故障的主节点。为避免出现这种情况,建议您将整个子网专用于 Amazon EMR 集群。此外,请确保子网中有足够的私有 IP 地址。

配置核心节点的注意事项:

  • 为确保核心节点实例组也具有高可用性,我们建议您至少启动四个核心节点。如果您决定启动具有三个或更少核心节点的较小集群,请通过将 dfs.replication parameter 设置为至少 2 以使 HDFS 具有足够的 DFS 复制。有关更多信息,请参阅 HDFS 配置

警告
  1. 如果单个节点出现故障,则在少于四个节点的集群上将 dfs.replication 设置为 1 可能会导致 HDFS 数据丢失。建议您使用具有至少四个核心节点的集群来处理生产工作负载。

  2. Amazon EMR 不允许集群扩展 dfs.replication 下方的核心节点。例如,如果是 dfs.replication = 2,则最小核心节点数为 2。

  3. 当您使用托管扩缩、自动扩缩或选择手动调整集群大小时,建议您将设置 dfs.replication 为 2 或更高。

在指标上设置警报的注意事项:

  • Amazon EMR 不提供有关 HDFS 或 YARN 的应用程序特定指标。我们建议您设置告警以监控主节点实例计数。使用以下 Amazon CloudWatch 指标来配置警报:MultiMasterInstanceGroupNodesRunningMultiMasterInstanceGroupNodesRunningPercentageMultiMasterInstanceGroupNodesRequested。如果主节点发生故障和替换,CloudWatch 将通知您。

    • 如果 MultiMasterInstanceGroupNodesRunningPercentage 低于 1.0 和大于 0.5,集群可能会丢失主节点。在这种情况下,Amazon EMR 将尝试替换主节点。

    • 如果 MultiMasterInstanceGroupNodesRunningPercentage 低于 0.5,两个主节点可能会发生故障。在这种情况下,仲裁丢失,集群无法恢复。您必须手动将数据迁出此集群。

    有关更多信息,请参阅在指标上设置警报