You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Livy通过SageMaker连接EMR会话启动失败问题排查求助

调试思路:Livy会话在EMR上启动后立即转为Dead

我来帮你梳理几个实用的调试方向,从你遇到的YARN超时错误入手,一步步定位问题:

  • 检查YARN集群资源与健康状态
    首先确认YARN集群本身是否能正常接收新应用:

    • 登录EMR主节点,执行yarn node -list查看所有NodeManagers是否处于RUNNING状态,有没有节点失联;
    • 用yarn top监控集群的内存、CPU使用率,如果资源(尤其是内存)被占满,YARN会无法为Livy的Spark应用分配容器,导致超时;
    • 日志里提到集群单容器最大内存是1024MB,Livy要分配的AM容器是896MB,确保没有其他大应用占用了剩余资源。
  • 核对Livy核心配置参数
    检查Livy的配置文件(通常路径为/etc/livy/conf/livy.conf),重点关注以下参数:

    • livy.session.timeout:默认是120秒,若集群负载较高,可适当调大(比如设为300秒),给YARN足够时间完成应用启动;
    • livy.spark.driver.memory和livy.spark.executor.memory:确认这些值没有超过YARN配置的单容器最大内存(日志里是1024MB),超过的话YARN会拒绝分配;
    • livy.spark.yarn.appTag:确保这个参数没有被错误修改,Livy依赖它来标记会话对应的YARN应用,标签不匹配会导致找不到应用。
  • 深挖YARN与Spark的日志细节
    你提供的日志只显示了超时结果,需要更详细的错误信息:

    • 访问EMR主节点的YARN WebUI(默认端口8088),进入「Failed Applications」列表,查找带有livy-session标签的失败应用,查看其诊断信息,可能会发现权限不足、依赖缺失或磁盘空间不足等问题;
    • 如果无法访问WebUI,可在主节点查看YARN日志目录/var/log/hadoop-yarn/下的resourcemanager和nodemanager日志,搜索livy-session-0-v9wkutit这个标签,定位启动失败的具体原因;
    • 尝试直接在主节点用spark-submit运行一个极简的PySpark脚本(如下),验证Spark本身能否正常提交到YARN:
      from pyspark.sql import SparkSession
      spark = SparkSession.builder.appName("LivyTest").getOrCreate()
      spark.range(10).show()
      spark.stop()
      
      如果这个脚本也失败,说明问题出在Spark与YARN的交互上,而非Livy;如果成功,再回到Livy的权限或配置排查。
  • 检查Livy自身日志与版本兼容性

    • 查看Livy的日志文件(路径通常为/var/log/livy/),寻找会话启动阶段的详细日志,比如是否在上传Spark依赖包时卡住(日志里提到falling back to uploading libraries under SPARK_HOME,这个过程若磁盘空间不足或网络慢会导致超时);
    • 确认EMR上的Spark版本与Livy版本是否兼容,部分版本组合存在适配问题(比如Livy 0.7.x与Spark 3.x的某些版本),建议使用EMR官方默认搭配的版本组合。

内容的提问来源于stack exchange,提问作者Elie Ladias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:16:10