本文详细介绍了Livy的核心配置文件及其参数,帮助您在阿里云EMR Serverless Spark中正确配置Livy Gateway并使用相关功能。
spark-defaults.conf
作用
spark-defaults.conf
文件用于设置通过Livy Gateway提交的Spark任务的默认参数。当用户创建Livy批处理或Session(会话)时,如果没有显式指定某些参数,则会自动使用这些默认值。
示例配置
以下是一些常见的默认参数配置。
spark.driver.cores 2
spark.driver.memory 7g
spark.dynamicAllocation.enabled true
spark.dynamicAllocation.initialExecutors 2
spark.dynamicAllocation.maxExecutors 100
spark.dynamicAllocation.minExecutors 1
涉及参数描述如下:
spark.driver.cores
和spark.driver.memory
:定义Driver的CPU核心数和内存大小。动态资源分配相关参数:
spark.dynamicAllocation.enabled=true
:启用动态资源分配。spark.dynamicAllocation.minExecutors
和spark.dynamicAllocation.maxExecutors
:限制Executor的最小和最大数量。spark.dynamicAllocation.initialExecutors
:初始分配的Executor数量。
支持的增强参数
支持的增强参数是指阿里云EMR Serverless Spark提供的一些额外功能或扩展配置项,用于增强系统的安全性、灵活性或性能。这些参数通常针对特定场景(如多租户环境、权限管理等)设计,帮助用户更好地控制任务行为和资源分配。
参数 | 说明 |
| 用于指定用户提交Spark任务时的代理用户(proxy-user)。默认值为 仅当 |
livy.conf
作用
livy.conf
文件是Livy的核心配置文件,用于定义Livy Gateway的全局行为,包括鉴权方式、超时设置、会话管理等。
关键参数
参数 | 说明 |
| 是否允许用户通过 |
| Session超时时间,超过时间不活跃的Session 会被自动关闭。默认值为 |
| 是否检查超时的Session。默认值为 如果设置为 |
| 检查超时Session时是否跳过忙碌的Session。如果跳过,则不会关闭正在执行任务的Session。默认值为 |
| 指定Livy Gateway的鉴权方式。例如,启用LDAP鉴权时设置为 |
| LDAP的地址。例如, |
| LDAP的基础DN。例如, |
| 是否开启LDAP的TLS加密。默认值为 |
| LDAP的安全认证方式。默认值为 |
| 结束的Session在内存中的保留时间。默认值为 |
| 同时创建的最大Session数量。默认值为 |
livy-client.conf
作用
livy-client.conf
文件用于定义Livy HTTP客户端的运行参数,主要用于优化客户端与Livy Gateway的交互行为。
关键参数
参数 | 说明 |
| Session内存中保留的最大statement数量。默认值为100。 |
| SQL解释器返回的最大行数。默认值为1000。 |
spark-blacklist.conf
作用
spark-blacklist.conf
文件用于限制用户通过Livy Gateway提交的任务中不允许覆盖的参数。被列入黑名单的参数将被系统强制忽略,用户无法修改这些参数。
示例配置
以下是一些常见的黑名单参数示例。
spark.driver.cores
spark.driver.memory
spark.executor.cores
spark.executor.memory
该配置表示用户无法自行设定Spark Driver和Executor的资源(如CPU核心数和内存大小),从而防止资源滥用。
支持的增强参数
spark-blacklist.conf
还支持以下增强参数,进一步提升任务的安全性和稳定性。
参数 | 说明 |
| 不允许用户设定Session的存活时间(TTL)。 确保Session的存活时间由管理员统一管理,避免用户设置过长或过短的TTL导致资源浪费或任务中断。 |
| 不允许用户设定提交任务的队列。 所有任务默认采用Livy Gateway的队列,避免用户随意选择队列导致资源分配不均。 |
| 不允许用户设定代理用户(proxy-user)。默认为root用户。 |