為什麼即使我開啟了受管擴展或符合調整大小指標,我的 EMR 叢集仍無法擴展?

1 分的閱讀內容
0

我已在 Amazon EMR 叢集開啟受管擴展或符合調整大小指標,但叢集仍未擴展。

解決方案

以下是即使已開啟受管擴展或符合調整指標大小,EMR 叢集仍可能無法擴展的常見原因:

未符合 Amazon CloudWatch 指標中針對擴展規模設定的閾值

自動擴展功能取決於 CloudWatch 指標。如果未達到相應的擴展或縮減的指標閾值,則不會進行擴展。

檢查 Amazon CloudWatch 中的 Amazon EMR 指標,以確認是否已填入擴展規則中設定的指標。例如,確認已根據擴展規則中的定義填入 ContainerPendingRatioYARNMemoryAvailablePercentage 等指標。

以下是 Amazon EMR 指標在 CloudWatch 中未如預期填入的常見原因:

  • 檔案 /etc/hadoop/conf/hadoop-metrics2.properties 不存在或已損壞。例如,檔案可能已被自訂引導操作覆寫。
  • 與指標相關的組件 (例如 Hadoop、YARN 等) 可能存在問題。檢閱對應的應用程式日誌,以檢查是否有錯誤。
  • 對於受管擴展,請在主節點上執行 sudo systemctl status MetricsCollector 命令,以確認 MetricsCollector 常駐程式是否正在執行。

您正在使用並非基於 YARN 的應用程式

並非基於 YARN 的 Presto 之類的應用程式使用基於 YARN 產生的指標的擴展方法。因此,即使 Presto 查詢使用率很高,叢集也不會擴展。如果您使用的應用程式並非基於 YARN,請使用手動擴展。例如,您可以將 Amazon EMR 調整大小 API 設定為使用自訂 Presto 指標。

核心或任務執行個體群組處於暫停或已停止狀態

調整大小或擴展時,處於暫停或已停止狀態的核心或任務執行個體群組會卡住。如需疑難排解步驟,請參閱暫停狀態

重新設定會導致執行個體群組處於已停止狀態。如需詳細資訊,請參閱疑難排解執行個體群組重新設定

EMR 中存在HDFS 應用程式問題,導致擴展核心節點時出現問題

如果下列情況成立,則最佳做法是保持核心節點固定:

  • 您將資料儲存在 Amazon Simple Storage Service (Amazon S3) 儲存貯體中,並且
  • HDFS 利用率已降至最低。

請僅擴展任務節點以避免 HDFS 問題。

擴展核心節點所需時間比擴展任務節點更長。這是因為核心節點具有用於儲存 HDFS 資料的額外服務 (資料節點)。除役 HDFS 資料需要時間。如果您的使用案例需要核心節點擴展,且擴展功能卡住,則可能存在 HDFS 除役問題。請檢查下列項目,以疑難排解因 HDFS 除役而卡住的擴展:

  • 檢查 HDFS 服務運作狀態 (名稱節點和資料節點)。
  • 執行 hdfs dfsadmin -report 命令,確認是否有任何遺失、損毀或複製不足的區塊。
  • 確認是否有任何核心節點因磁碟、記憶體或 CPU 問題而運作狀態不良。
  • 確定 HDFS 複寫係數是否設定為更高的數字,如 3 或 2。如果複寫係數設定為 3 或 2,而您嘗試將核心節點縮減規模為 1,則擴展會卡住。這是因為必須維護最少複本。

請求的容量在 Amazon EMR 中不可用

如果 Amazon EMR 中無法使用請求的 Amazon Elastic Compute Cloud (Amazon EC2) 容量,則擴展會在逾時期間後失敗。如果擴展長時間卡住,而您在 AWS CloudTrail 事件中收到容量不足錯誤,請執行手動調整大小。就擴展卡住而言,2 到 3 個小時已經算是長時間。


相關資訊

搭配執行個體群組的自訂政策使用自動擴展

手動調整執行中叢集大小

在 Amazon EMR 中使用受管擴展

PrestoDB on Amazon EMR 的 9 大效能調校提示

AWS 官方
AWS 官方已更新 2 年前