

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立具有多個主節點的 Amazon EMR 叢集時的考量事項和最佳實務
<a name="emr-plan-ha-considerations"></a>

建立具有多個主節點的 Amazon EMR 叢集時，請考量以下事項：

**重要**  
若要啟動具有多個主節點的高可用性 EMR 叢集，強烈建議您使用最新的 Amazon EMR 版本。這可確保您的高可用性叢集獲得最高層級的彈性和穩定性。
+ Amazon EMR 5.36.1、5.36.2、6.8.1、6.9.1、6.10.1、6.11.1、6.12.0 及更高版本支援*執行個體機群*的高可用性。對於*執行個體群組*，Amazon EMR 5.23.0 版及更高版本支援高可用性。若要進一步了解，請參閱[關於 Amazon EMR 版本](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html)。
+ 在高可用性叢集上，Amazon EMR 僅支援使用隨需執行個體啟動主節點。這可確保叢集的最高可用性。
+ 您仍可為主機群指定多個執行個體類型，但是高可用性叢集的所有主節點都會以相同的執行個體類型啟動，包括替換運作狀態不佳的主節點。
+ 若要繼續作業，具有多個主節點的高可用性叢集需要三個主節點中的兩個維持正常運作。因此，如果任何兩個主節點同時失敗，您的 EMR 叢集將會失敗。
+ 所有 EMR 叢集 (包括高可用性叢集) 均在單一可用區域中啟動。因此，這些叢集無法容忍可用區域故障。在可用區域執行中斷的情況下，您將無法存取叢集。
+ 如果您使用 如果您在執行個體機群內啟動叢集時使用自訂服務角色或政策，您可以新增 `ec2:DescribeInstanceTypeOfferings`許可，以便 Amazon EMR 篩選掉不支援的可用區域 (AZ)。當 Amazon EMR 篩選掉不支援任何執行個體類型主要節點的 AZs 時，Amazon EMR 會防止叢集啟動因為不支援的主要執行個體類型而失敗。如需詳細資訊，請參閱[不支援的執行個體類型](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-INSTANCE_TYPE_NOT_SUPPORTED-error.html)。
+ 如果開放原始碼應用程式的高可用性不在 [具有多個主節點的 Amazon EMR 叢集中支援的應用程式](emr-plan-ha-applications.md#emr-plan-ha-applications-list) 中指定的範圍內，則 Amazon EMR 無法保證支援此功能。
+ 在 Amazon EMR 5.23.0 到 5.36.2 版中，執行個體群組叢集的三個主要節點中只有兩個會執行 。 HDFS NameNode
+ 在 Amazon EMR 6.x 版和更新版本中，執行個體群組的所有三個主要節點都會執行 。 HDFS NameNode

設定子網路的考量事項：
+ 具有多個主節點的 Amazon EMR 叢集只能位於一個可用區域或子網路中。執行容錯移轉時，如果子網路經過充分利用或有過度訂閱的現象，Amazon EMR 無法取代故障的主節點。為避免這種情況，建議您將整個子網路專門留給 Amazon EMR 叢集使用。此外，請確保子網路提供的私有 IP 地址數量足夠。

設定核心節點的考量事項：
+ 為了確保核心節點的高可用性，建議您至少啟動四個核心節點。如果您決定啟動具有三個以下核心節點的小型叢集，請將 `dfs.replication parameter` 至少設定為 `2`，以便為 HDFS 配置足夠的 DFS 複寫。如需詳細資訊，請參閱 [HDFS 組態](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hdfs-config.html)。

**警告**  
如果單一節點發生故障，在少於四個節點的叢集上將 `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` 低於 100% 且高於 50%，則叢集可能已遺失主節點。在這種情況下，Amazon EMR 會嘗試取代主節點。
  + 如果 `MultiMasterInstanceGroupNodesRunningPercentage` 低於 50%，則兩個主節點可能已失敗。在這種情況下，仲裁會遺失且該叢集將無法復原。您必須手動將資料移出此叢集。

  如需詳細資訊，請參閱[設定指標警示](https://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_ViewingMetrics.html#UsingEMR_ViewingMetrics_Alarm)。