Livy Gateway是一个基于REST的服务,用于简化与 Apache Spark 的交互。它支持通过HTTP提交任务、查询计算结果,兼容多种编程语言。通过Livy Gateway,您可以结合Airflow的livy_operator或Jupyter Notebook的spark_magic等工具,轻松向Serverless Spark提交任务并获取状态更新。
创建Livy Gateway
进入Gateway页面。
在左侧导航栏,选择。
在Spark页面,单击目标工作空间名称。
在EMR Serverless Spark页面,单击左侧导航栏中的。
在Livy Gateway页面,单击创建LivyGateway。
在创建Livy Gateway页面,配置以下信息,单击创建。
参数
说明
名称
新建Gateway的名称。仅支持小写字母、数字、短划线(-),并且开头和结尾必须是字母或者数字。
Livy Gateway 资源
默认
1 CPU,4 GB。Livy 版本
默认使用最新版0.8.0。
引擎版本
当前Gateway使用的引擎版本。引擎版本号含义等详情请参见引擎版本介绍。
使用 Fusion 加速
Fusion可加速Spark负载的运行并降低任务的总成本。有关计费信息,请参见产品计费。有关Fusion引擎介绍,请参见Fusion引擎。
关联队列
创建的Gateway将部署在所选队列。通过Gateway提交Spark任务时,将使用Gateway创建者的身份提交任务。
认证方式
仅支持Token方式。
在您创建Gateway之后,需要为其生成一个唯一的鉴权Token,以便在之后的请求中使用该Token进行身份验证和访问控制。创建Token的具体操作,请参见Gateway管理。
挂载纳管文件目录
默认情况下,该功能处于关闭状态。如果需要使用该功能,请先在文件管理的纳管文件目录页签新增文件目录,详情请参见管理纳管文件目录。
开启后,系统会将纳管文件目录挂载到会话资源中,从而允许在Notebook会话中直接读取和写入该目录下的文件。
挂载操作会占用一定的Driver计算资源。默认占用的资源为以下两者的较大值:
固定资源:0.3核心(Core)+ 1 GB内存。
动态资源:
spark.driver资源的10%(即0.1 × spark.driver的核心数和内存)。
例如,
spark.driver配置为4核心(Core)和8 GB内存,则动态资源为0.4核心 + 0.8 GB内存。此时,实际占用资源为max(0.3 Core + 1GB, 0.4 Core + 0.8GB),即0.4核心 + 1 GB内存。说明挂载范围:默认仅挂载到 Driver。如需同时挂载至 Executor,请开启挂载到 Executor。
多目录挂载:支持同时挂载多个纳管文件目录,但 CPFS 类型不允许与其他类型混合挂载。例如,可以同时挂载多个 OSS 目录与 NAS 目录,但不可以将 CPFS 与 OSS 或 NAS 目录同时挂载。
网络要求:挂载 NAS 或 CPFS 文件目录时,必须配置网络连接,且网络连接的 VPC 须与 NAS/CPFS 挂载点在同一 VPC 下。
网络连接
选择已创建的网络连接,以便直接访问VPC内的数据源或外部服务。有关创建网络连接的具体操作,请参见EMR Serverless Spark与其他VPC间网络互通。
运行环境
通过Livy Gateway提交任务时,任务运行所需的资源将根据所选环境进行预配置。
公网 Endpoint
默认关闭。
开启该功能后,则系统将通过公网Endpoint访问Livy。否则默认通过内网Endpoint访问Livy。
自动停止
默认关闭。
开启该功能后,如果在45分钟内未检测到任何活动,系统将自动停止该Gateway。
spark-defaults.conf
Spark的默认配置文件,用于设置Spark任务的全局默认参数。
livy.conf
Livy Server的核心配置文件,用于定义Livy Gateway的全局行为,包括鉴权方式(LDAP)、会话管理、超时设置等。该文件控制着Livy Server的运行参数,从而影响所有通过该Gateway提交的任务。
livy-client.conf
Livy HTTP客户端的运行参数配置文件,用于定义客户端与Livy Gateway的交互行为。
spark-blacklist.conf
这是一个安全相关的配置文件,用于限制用户在提交Spark任务时不允许修改的配置项。列入黑名单的参数将被系统强制忽略,用户无法覆盖这些参数。
更多关于Livy配置文件及其参数的详情信息,请参见Livy Gateway配置示例。
在Livy Gateway页面,单击已创建Livy Gateway操作列的启动。
管理Token
Token使用时,请在请求的header中添加--header `x-acs-spark-livy-token: token`。
在Livy Gateway页面,单击目标Gateway操作列的Token 管理。
单击创建 Token。
在创建 Token对话框中,配置以下信息,单击确定。
参数
说明
名称
新建Token的名称。
过期时间
设置该Token的过期时间。设置的天数应大于或等于1。默认情况下为开启状态,365天后过期。
复制Token信息。
重要Token创建完成后,请务必立即复制新Token的信息,后续不支持查看。如果您的Token过期或遗失,请选择新建Token或重置Token。
查看Session信息
当您通过Livy创建Spark Session后,该Session的相关信息(例如Session ID、状态等)将显示在列表中。
在Livy Gateway页面,单击目标Gateway的名称。
单击Session 列表页签。
在该页面,您可以查看通过该Livy创建的Spark Session相关信息。
Session 列表包含以下信息:Session 名称/ID、状态、创建时间、资源配置(JSON 格式,包括 kind、driverMemory、driverCores、executorMemory、executorCores、numExecutors 等参数)、Spark UI 链接和操作(关闭 Session)。
相关文档
关于Livy Gateway的应用场景,请参见以下信息: