當您需要在不影響EMR叢集核心服務穩定性的前提下,為多個使用者或應用提供一個統一、隔離的作業提交入口時,可以使用Gateway節點。Gateway節點將作業提交等用戶端負載與叢集的Master節點分離,保障了核心組件的穩定性,並允許為不同使用者配置獨立的環境。
Gateway的三種部署形態與選型指南
Gateway 是 EMR 提供的作業提交隔離層,其核心價值在於:
-
解耦用戶端負載與叢集核心服務
將
spark-submit、hive -f、yarn application等用戶端操作從 Master/Resource Manager 節點剝離。 -
實現多租戶環境隔離
支援為不同使用者/部門配置獨立的運行時環境。
-
提升叢集穩定性與可維護性
避免因高頻提交、調試指令碼、環境衝突或資源爭搶影響 YARN ResourceManager、HDFS NameNode 等關鍵服務。
EMR 當前提供三種 Gateway 形態,適用於不同叢集類型、版本及架構需求。
|
形態 |
支援的關聯集群類型與版本要求 |
部署方式與關鍵特性 |
適用情境與選型建議 |
|
Gateway 節點群組 |
僅支援以下叢集:
|
• 直接在現有叢集內新增節點群組,詳情請參見管理節點群組。 |
優先推薦:適用於需快速為已有 DataLake/DataFlow 叢集擴充安全、隔離的提交入口,營運成本最低,配置一致性高。 |
|
Gateway 環境 |
支援DataLake、DataFlow、Custom、OLAP叢集 |
• 基於ECS 執行個體手動部署,詳情請參見使用EMR-CLI自訂部署Gateway環境。 |
當叢集不支援 Gateway 節點群組時的標準化替代方案。 |
|
Gateway 叢集 |
僅支援Hadoop、Kafka叢集 |
|
適用於Hadoop、Kafka叢集。 |
操作步驟
-
使用SSH方式串連到Gateway執行個體。詳情請參見登入叢集。
-
使用SSH串連到節點後,在命令列執行以下命令,提交並運行作業。本文以Spark 3.1.1版本為例,輸入的命令樣本如下。
spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client --driver-memory 512m --num-executors 1 --executor-memory 1g --executor-cores 2 /opt/apps/SPARK3/spark-current/examples/jars/spark-examples_2.12-3.1.1.jar 10說明spark-examples_2.12-3.1.1.jar為您叢集中對應的JAR包名稱,您可以登入叢集,在/opt/apps/SPARK3/spark-current/examples/jars路徑下查看。 -
查看作業運行記錄。提交作業後,您可以通過YARN UI方式查看作業運行記錄。以下為您簡單說明。
-
開啟8443連接埠,詳情請參見管理安全性群組。
-
新增使用者,詳情請參見OpenLDAP 使用者管理。
在使用Knox帳號訪問YARN UI頁面時,需要Knox帳號的使用者名稱和密碼。
-
在EMR on ECS頁面,單擊目的地組群所在行的叢集服務。
-
單擊訪問連結與連接埠頁簽。
-
單擊YARN UI所在行的公網連結。
使用使用者管理中的使用者身份資訊進行登入認證,即可進入YARN UI頁面。
-
在All Applications頁面,單擊目標作業的ID,可以查看作業啟動並執行詳情。
-