建立具有多個主要節點的 Amazon EMR 叢集時的考量事項和最佳實務 - Amazon EMR

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

建立具有多個主要節點的 Amazon EMR 叢集時的考量事項和最佳實務

建立具有多個主要節點的 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 5.23.0 及更EMR新版本支援高可用性。若要進一步了解,請參閱關於 Amazon EMR 版本

  • 在高可用性叢集上,Amazon EMR 僅支援使用隨需執行個體啟動主節點。這可確保叢集的最高可用性。

  • 您仍可為主機群指定多個執行個體類型,但是高可用性叢集的所有主節點都會以相同的執行個體類型啟動,包括替換運作狀態不佳的主節點。

  • 若要繼續作業,具有多個主節點的高可用性叢集需要三個主節點中的兩個維持正常運作。因此,如果任何兩個主要節點同時失敗,您的EMR叢集將會失敗。

  • 所有EMR叢集 (包括高可用性叢集) 都會在單一可用區域中啟動。因此,這些叢集無法容忍可用區域故障。在可用區域執行中斷的情況下,您將無法存取叢集。

  • 如果您在執行個體叢集內啟動叢集時使用自訂服務角色或政策,則可以新增ec2:DescribeInstanceTypeOfferings權限,以便 Amazon EMR 可以篩選出不受支援的可用區域 (AZ)。當 Amazon EMR 篩選出不支援任何主節點執行個體類型的執行個體時,Amazon EMR 可防止叢集啟動因為不受支援的主執行個體類型而失敗。AZs如需詳細資訊,請參閱不支援的執行個體類型

  • Amazon EMR 不保證開放原始碼應用程式除了中指定的應用程式之外的高可用性具有多個主節點的 Amazon EMR 叢集中支援的應用程式

  • 在 Amazon EMR 版本 5.23.0 到 5.36.2 版本中,執行個體群組叢集的三個主要節點中只有兩個執行 HDFS NameNode.

  • 在 Amazon 6.x 及更高EMR版本中,執行個體群組的所有三個主節點都會執行 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 指標設定警示:MultiMasterInstanceGroupNodesRunningMultiMasterInstanceGroupNodesRunningPercentage、或MultiMasterInstanceGroupNodesRequested。 CloudWatch 在主節點故障和更換的情況下會通知您。

    • 如果 MultiMasterInstanceGroupNodesRunningPercentage 小於 1.0 但大於 0.5,表示叢集可能缺少一個主節點。在此情況下,Amazon EMR 會嘗試取代主節點。

    • 如果 MultiMasterInstanceGroupNodesRunningPercentage 低於 0.5,表示可能有兩個主節點故障。在這種情況下,仲裁會遺失且該叢集將無法復原。您必須手動將資料移出此叢集。

    如需詳細資訊,請參閱設定指標警示