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

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

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

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

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

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

  • 如果開放原始碼應用程式的高可用性不在 具有多個主節點的 Amazon EMR 叢集中支援的應用程式 中指定的範圍內,則 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 組態

警告
  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,表示可能有兩個主節點故障。在這種情況下,仲裁會遺失且該叢集將無法復原。您必須手動將資料移出此叢集。

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