注意事项和最佳实践
具有多个主节点的 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 配置。
警告
-
如果单个节点出现故障,则在少于四个节点的集群上将
dfs.replication
设置为 1 可能会导致 HDFS 数据丢失。建议您使用具有至少四个核心节点的集群来处理生产工作负载。 -
Amazon EMR 不允许集群扩展
dfs.replication
下方的核心节点。例如,如果是dfs.replication = 2
,则最小核心节点数为 2。 -
当您使用托管扩缩、自动扩缩或选择手动调整集群大小时,建议您将设置
dfs.replication
为 2 或更高。
在指标上设置警报的注意事项:
-
Amazon EMR 不提供有关 HDFS 或 YARN 的应用程序特定指标。我们建议您设置告警以监控主节点实例计数。使用以下 Amazon CloudWatch 指标来配置警报:
MultiMasterInstanceGroupNodesRunning
、MultiMasterInstanceGroupNodesRunningPercentage
或MultiMasterInstanceGroupNodesRequested
。如果主节点发生故障和替换,CloudWatch 将通知您。-
如果
MultiMasterInstanceGroupNodesRunningPercentage
低于 1.0 和大于 0.5,集群可能会丢失主节点。在这种情况下,Amazon EMR 将尝试替换主节点。 -
如果
MultiMasterInstanceGroupNodesRunningPercentage
低于 0.5,两个主节点可能会发生故障。在这种情况下,仲裁丢失,集群无法恢复。您必须手动将数据迁出此集群。
有关更多信息,请参阅在指标上设置警报。
-