当您需要在不影响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,可以查看作业运行的详情。
