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

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

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

Amazon EMR會定期使用 Apache Hadoop 中的NodeManager 運作狀態檢查程式服務來監控 Amazon EMR EC2叢集上 Amazon 中核心節點的狀態。如果節點無法以最佳方式運作,運作狀態檢查程式會將該節點報告給 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時,您可以使用 create-cluster命令搭配 --unhealthy-node-replacement 參數,在啟用運作狀態不佳節點取代的情況下啟動叢集。運作狀態不佳的節點取代預設為開啟。

    下列範例會建立啟用運作狀態不佳節點替換的叢集:

    注意

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

    aws emr create-cluster --name "SampleCluster" --release-label emr-7.5.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