使用 Amazon 取代運作狀態不佳的節點 EMR - Amazon EMR

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

使用 Amazon 取代運作狀態不佳的節點 EMR

Amazon EMR會定期使用 Apache Hadoop 中的NodeManager 運作狀態檢查服務來監控 Amazon EC2叢集上 Amazon EMR 中核心節點的狀態。如果節點無法以最佳方式運作,運作狀態檢查程式會將該節點報告給 Amazon EMR控制器。Amazon EMR控制器會將節點新增至拒絕清單,防止節點接收新的YARN應用程式,直到節點狀態改善為止。節點可能變得運作狀態不佳的一個常見原因是由於過度利用磁碟。如需識別運作狀態不佳節點和復原的詳細資訊,請參閱資源錯誤

您可以選擇 Amazon 是否EMR應終止運作狀態不佳的節點,或將其保留在叢集中。如果您關閉運作狀態不佳的節點替換,運作狀態不佳的節點會留在拒絕清單中,並繼續計入叢集容量。您仍然可以連線至 Amazon EC2核心執行個體進行組態和復原,以便調整叢集大小以增加容量。請注意,即使已開啟終止保護,Amazon EMR仍會取代運作狀態不佳的節點。

如果開啟運作狀態不佳的節點替換,Amazon EMR會終止運作狀態不佳的核心節點,並根據執行個體群組中的執行個體數量或執行個體機群的目標容量佈建新的執行個體。如果多個或所有核心節點運作狀態不佳超過 45 分鐘,Amazon EMR會正常取代節點

重要

為了避免因 Amazon EMR正常取代運作狀態不佳的核心執行個體而永久遺失HDFS資料的可能性,建議您一律備份資料。

Amazon EMR 發佈 Amazon CloudWatch Events 以進行運作狀態不佳的節點替換,因此您可以追蹤運作狀態不佳的核心執行個體。如需詳細資訊,請參閱運作狀態不佳的節點替換事件。

預設節點替換和終止保護設定

所有 Amazon EMR版本皆可使用運作狀態不佳的節點替換,但預設設定取決於您選擇的版本標籤。您可以在建立新叢集時設定運作狀態不佳的節點取代,或隨時前往叢集組態,以變更任何這些設定。

如果您要建立執行 Amazon 7.0 版或更舊EMR版本的單節點叢集或高可用性叢集,則狀態不佳節點取代的預設設定取決於終止保護:

  • 啟用終止保護會停用運作狀態不佳的節點替換。

  • 停用終止保護會啟用運作狀態不佳的節點替換。

啟動叢集時設定狀態不佳的節點取代

當您使用主控台、 或 啟動叢集時 AWS CLI,您可以啟用或停用運作狀態不佳的節點替換API。

預設運作狀態不佳的節點替換設定取決於您啟動叢集的方式:

  • Amazon EMR主控台 — 預設會啟用運作狀態不佳的節點替換。

  • AWS CLI aws emr create-cluster — 除非指定 ,否則預設會啟用狀態不佳的節點替換--no-unhealthy-node-replacement

  • Amazon EMRRunJobFlow API命令 — 除非您將UnhealthyNodeReplacement布林值設定為 True或 ,否則預設會啟用運作狀態不佳的節點替換False

Console
使用主控台建立叢集時,開啟或關閉運作狀態不佳的節點替換
  1. 登入 AWS Management Console,然後在 https://console.aws.amazon.com/emr 開啟 Amazon EMR主控台。

  2. 在左側導覽窗格中的 EMR下EC2,選擇叢集 ,然後選擇建立叢集

  3. 針對EMR版本 ,選擇您想要的 Amazon EMR版本標籤。

  4. 叢集終止和節點替換 下,確定已預先選取運作狀態不佳的節點替換 (建議),或清除選取以將其關閉。

  5. 選擇適用於您的叢集的任何其他選項。

  6. 若要啟動您的叢集,請選擇建立叢集

AWS CLI
使用 建立叢集時,開啟或關閉運作狀態不佳的節點替換 AWS CLI
  • 使用 時 AWS CLI,您可以啟動啟用狀態不佳節點取代的叢集,並使用 --unhealthy-node-replacement 參數來啟用 create-cluster命令。運作狀態不佳的節點取代預設為開啟。

    下列範例會建立啟用狀態不佳節點取代的叢集:

    注意

    包含 Linux 行接續字元 (\) 是為了提高可讀性。它們可以在 Linux 命令中移除或使用。對於 Windows,請將其移除或取代為插入符號 (^)。

    aws emr create-cluster --name "SampleCluster" --release-label emr-7.3.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --unhealthy-node-replacement

    如需在 中使用 Amazon EMR命令的詳細資訊 AWS CLI,請參閱 Amazon EMR AWS CLI 命令

在執行中的叢集中設定狀態不佳的節點取代

您可以使用主控台、 或 開啟 AWS CLI或關閉執行中的叢集運作狀態不佳的節點替換API。

Console
開啟或關閉具有主控台的執行中叢集運作狀態不佳的節點替換
  1. 登入 AWS Management Console,然後在 https://console.aws.amazon.com/emr 開啟 Amazon EMR主控台。

  2. 在左側導覽窗格中的 EMR EC2下,選擇叢集 ,然後選擇您要更新的叢集。

  3. 在叢集詳細資訊頁面上的屬性索引標籤上,尋找叢集終止和節點取代,然後選取編輯

  4. 選取或清除運作狀態不佳的節點替換核取方塊,以開啟或關閉此功能。然後選擇儲存變更以確認。

AWS CLI
使用 開啟或關閉執行中叢集的不運作狀態節點替換 AWS CLI
  • 若要在具有 的執行中叢集上開啟運作狀態不佳的節點替換 AWS CLI,請使用 modify-cluster-attributes命令搭配 --unhealthy-node-replacement 參數。若要停用,請使用 --no-unhealthy-node-replacement 參數。

    下列範例會在具有 ID 的叢集上開啟運作狀態不佳的節點替換 j-3KVTXXXXXX7UG:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --unhealthy-node-replacement

    下列範例會關閉相同叢集上運作狀態不佳的節點替換:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-unhealthy-node-replacement