本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立具有多個主節點的 Amazon EMR叢集時的考量事項和最佳實務
當您建立具有多個主節點的 Amazon EMR叢集時,請考慮下列事項:
重要
若要啟動具有多個主節點的高可用性EMR叢集,強烈建議您使用最新的 Amazon EMR版本。這可確保您的高可用性叢集獲得最高層級的彈性和穩定性。
-
Amazon 5.36.1、5.36.2、6.8.1、6.9.1、6.10.1、6.11.1、6.12.0 及更高EMR版本支援執行個體機群的高可用性。對於執行個體群組,Amazon 5.23.0 版和更新EMR版本支援高可用性。若要進一步了解,請參閱關於 Amazon EMR Releases。
-
在高可用性叢集上,Amazon EMR僅支援使用隨需執行個體啟動主要節點。這可確保叢集的最高可用性。
-
您仍可為主機群指定多個執行個體類型,但是高可用性叢集的所有主節點都會以相同的執行個體類型啟動,包括替換運作狀態不佳的主節點。
-
若要繼續作業,具有多個主節點的高可用性叢集需要三個主節點中的兩個維持正常運作。因此,如果任何兩個主節點同時失敗,您的EMR叢集將會失敗。
-
所有EMR叢集,包括高可用性叢集,都會在單一可用區域中啟動。因此,這些叢集無法容忍可用區域故障。在可用區域執行中斷的情況下,您將無法存取叢集。
-
如果您使用 如果您在執行個體機群中啟動叢集時使用自訂服務角色或政策,則可以新增
ec2:DescribeInstanceTypeOfferings
許可,讓 Amazon EMR可以篩選掉不支援的可用區域 (AZ)。當 Amazon EMR篩選掉不支援任何執行個體類型的主要節點AZs時,Amazon EMR會防止叢集啟動因為不支援的主要執行個體類型而失敗。如需詳細資訊,請參閱不支援的執行個體類型。 -
Amazon EMR不保證開放原始碼應用程式的高可用性,但 中指定的應用程式除外具有多個主節點的 Amazon EMR叢集中支援的應用程式。
-
在 Amazon 5.23.0 到 5.36.2 EMR版中,執行個體群組叢集執行的三個主要節點中只有兩個 HDFS NameNode.
-
在 Amazon 6.x 版和更新EMR版本中,執行個體群組執行的所有三個主要節點 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,表示可能有兩個主節點故障。在這種情況下,仲裁會遺失且該叢集將無法復原。您必須手動將資料移出此叢集。
如需詳細資訊,請參閱設定指標警示。
-