无法通过Livy集群模式提交任务,配置是否存在问题?
分析你的Livy集群模式提交问题
首先,从你给出的配置来看,有一个明显的配置错误可能是导致任务提交失败的核心原因,另外还有几个潜在的点需要逐一排查:
1. 致命配置错误:Livy恢复模式参数值不正确
你在livy.conf中配置了:
livy.server.recovery.mode=recovery
但Livy 0.4的livy.server.recovery.mode可选值只有以下三个:
none(默认,不启用恢复)file(基于文件系统存储状态)zookeeper(基于ZooKeeper存储状态)
你写的recovery是无效值,这会导致Livy无法正确初始化状态存储模块,进而直接影响任务的提交流程。正确的配置应该是:
livy.server.recovery.mode=zookeeper
2. 其他潜在问题排查点
(1)ZooKeeper服务可用性
确认你的ZooKeeper服务(localhost:2181)是否正常运行,Livy所在节点能否正常连接到ZooKeeper。可以通过zkCli.sh -server localhost:2181命令测试连接,确保没有连接超时或权限问题。
(2)Spark与Livy的版本兼容性&环境配置
虽然Livy 0.4官方支持Spark 2.x版本,但要确保:
- Livy所在节点已正确配置
SPARK_HOME环境变量,指向你的Spark 2.3.0安装目录 - 如果是手动编译Livy,确认是基于Spark 2.3.0版本编译的,避免依赖冲突
(3)Yarn权限与配置
- 检查Livy运行用户是否有Yarn集群的任务提交权限,比如是否在Yarn的
yarn.acl.enable允许的用户列表中 - 如果需要以其他用户身份提交任务,确认
livy.conf中是否开启了用户代理:livy.server.session.user-proxy-enabled=true(默认是false) - 确保Yarn集群的
yarn-site.xml配置正确,Livy节点能访问到Yarn ResourceManager
(4)日志排查
如果修正上述配置后仍然失败,建议查看以下日志定位具体错误:
- Livy服务器日志(默认路径:
${LIVY_HOME}/logs/livy-server.log) - Yarn集群的ApplicationMaster日志(可通过Yarn WebUI查看对应任务的日志)
内容的提问来源于stack exchange,提问作者user1870400
相关产品推荐
相关产品推荐

