當您需要在不影響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,可以查看作業啟動並執行詳情。
