了解節點類型:主節點、核心節點和任務節點 - Amazon EMR

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

了解節點類型:主節點、核心節點和任務節點

您可以透過本章節了解 Amazon EMR 如何使用這些節點類型並作為叢集容量規劃的基礎。

主節點

主節點會管理叢集且通常會執行分散式應用程式的主要元件。例如,主節點會執行 YARN ResourceManager 服務來管理應用程式的資源。它也會執行 HDFS NameNode 服務、追蹤提交至叢集的工作狀態,以及監控執行個體群組的健全狀況。

您能夠以 Hadoop 使用者的身分透過 SSH 連接至主節點,藉此監控叢集進度並直接與應用程式互動。如需詳細資訊,請參閱 使用 SSH 連接至主節點。連接至主節點可讓您直接存取目錄和檔案,例如 Hadoop 日誌檔案。如需詳細資訊,請參閱 檢視 日誌檔。您也可以檢視當網站在主節點上執行時應用程式發布的使用者介面。如需詳細資訊,請參閱 檢視 Amazon EMR 叢集上託管的 Web 介面

注意

使用 Amazon EMR 5.23.0 及更新版本,您可以啟動具有三個主要節點的叢集,以支援 YARN 資源管理員、HDFS、Spark NameNode、Hive 和神經節等應用程式的高可用性。主節點已不再是此功能潛在的單點故障。如果其中一個主節點故障,Amazon EMR 會自動容錯移轉至備用主節點,並以具有相同組態和引導操作的新主節點來更換故障主節點。如需詳細資訊,請參閱規劃和設定主節點

核心節點

核心節點由主節點管理。核心節點執行資料節點協助程式,以在 Hadoop 分散式檔案系統 (HDFS) 過程協調資料儲存。它們還對已安裝應用程式需要的資料執行任務追蹤器協助程式和執行其他平行運算任務。例如,核心節點運行 YARN NodeManager 守護進程,Hadoop MapReduce 任務和星火執行程序。

每個叢集只有一個核心執行個體群組或執行個體機群,但執行個體群組或執行個體機群中的多個 Amazon EC2 執行個體上可以執行多個節點。您可以透過執行個體群組,在叢集正在執行時新增和移除 Amazon EC2 執行個體。您也可以設定自動擴展,以根據指標的值新增執行個體。如需有關新增和移除 Amazon EC2 執行個體與執行個體群組組態的詳細資訊,請參閱 使用叢集擴展

您可以使用執行個體機群,透過隨需與 Spot 相應修改執行個體機群的目標容量,來有效地新增和移除執行個體。如需目標容量的詳細資訊,請參閱 執行個體機群選項

警告

從執行中的核心節點或移除 HDFS,或終止核心節點資料遺失的風險。設定核心節點使用 Spot 執行個體時必須小心。如需詳細資訊,請參閱 您應何時使用 Spot 執行個體?

任務節點

您可以使用工作節點來增加電源,以對資料執行 parallel 計算工作,例如 Hadoop MapReduce 工作和 Spark 執行程式。任務節點不執行資料節點協助程式,也不會將資料存放在 HDFS 中。您可以使用核心節點,透過將 Amazon EC2 執行個體新增至現有統一執行個體群組,或修改任務執行個體機群的目標容量來將任務節點新增至叢集。

透過統一執行個體群組組態,您總計最多可有 48 個任務執行個體群組。以此種方式新增執行個體群組的功能可讓您混合 Amazon EC2 執行個體類型和定價選項,例如隨需執行個體和 Spot 執行個體。這讓您能夠以符合成本效益的方式靈活地回應工作負載需求。

透過執行個體機群組態,混合執行個體類型和購買選項的功能是內建的,所以只有一個任務執行個體機群。

由於 Spot 執行個體通常用於執行作業節點,因此 Amazon EMR 具有排程 YARN 作業的預設功能,因此當 Spot 執行個體上執行的作業節點終止時,執行作業不會失敗。Amazon EMR 透過允許應用程式主程序僅在核心節點上執行來達到此目的。應用程式主程序會控制執行中的作業,而且需要在作業生命週期內保持活動狀態。

Amazon EMR 5.19.0 版及更新版本使用內建 YARN 節點標籤功能來實現此目的。(較早版本使用代碼修補程式)。預設會設定 yarn-sitecapacity-scheduler 組態分類中的屬性,以便 YARN capacity-scheduler 和 fair-scheduler 利用節點標籤。Amazon EMR 會自動為核心節點加上 CORE 標籤,並設定屬性,以便只在具有 CORE 標籤的節點上排程應用程式主節點。手動修改 yarn-site 和 capacity-scheduler 組態分類中的相關屬性,或直接修改關聯的 XML 檔案中的相關屬性,可能會破壞此功能或修改此功能。

從 Amazon EMR 6.x 版系列開始,YARN 節點標籤功能已預設為停用。依預設,應用程式主程序可以在核心和任務節點上執行。您可以透過設定以下屬性來啟用 YARN 節點標籤功能:

  • yarn.node-labels.enabled: true

  • yarn.node-labels.am.default-node-label-expression: 'CORE'

如需特定屬性的資訊,請參閱 Amazon EMR 設定可避免由於任務節點 Spot 執行個體終止而造成的作業失敗