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

从Ambari启动Yarn失败,报错ImportError: cannot import name yarn

解决Ambari启动YARN ResourceManager时的ImportError: cannot import name yarn报错

我之前碰到过好几次这个Ambari启动YARN ResourceManager的报错,本质是Ambari Agent缓存的YARN服务脚本模块引用出了问题,给你梳理几个靠谱的排查和解决步骤:

  • 清理Ambari Agent缓存(最常见的解决方法)
    报错里提到的脚本来自Ambari Agent的本地缓存目录,有时候缓存的脚本会因为版本不匹配、传输损坏等原因出现模块结构错误。执行以下操作重置缓存:

    # 停止Ambari Agent服务
    service ambari-agent stop
    # 删除缓存目录
    rm -rf /var/lib/ambari-agent/cache
    # 重启Agent,重新拉取服务脚本
    service ambari-agent start
    

    重启后再尝试从Ambari界面启动YARN ResourceManager,大部分情况下这个操作就能解决问题。

  • 验证Ambari与YARN版本兼容性
    你使用的Ambari版本和YARN 2.1.0.2.0所属的Hadoop发行版(比如HDP)必须严格兼容,版本不匹配会导致服务脚本里的模块引用逻辑失效。可以核对Ambari官方的版本支持矩阵,确认当前组合是被支持的。

  • 手动测试Python模块导入
    直接在Agent节点上测试报错里的导入语句,定位问题根源:

    cd /var/lib/ambari-agent/cache/common-services/YARN/2.1.0.2.0/package/scripts/
    python -c "from yarn import yarn"
    

    如果仍然报错,打开yarn.py文件查看内容:

    • 确认文件里是否存在名为yarn的类、函数或子模块
    • 有时候脚本里的类名可能是大写的Yarn,或者模块结构被修改,这种情况下优先通过清理缓存修复,尽量不要手动修改脚本(避免后续Ambari升级出问题)
  • 检查文件权限
    确保Ambari Agent用户(通常是ambari-agent)对缓存目录下的YARN脚本有读取权限,权限错误会导致Python无法加载模块:

    chown -R ambari-agent:ambari-agent /var/lib/ambari-agent/cache/common-services/YARN/
    

如果以上方法都无效,可以尝试重新注册Agent到Ambari Server,或者检查Ambari Server上的YARN服务包是否完整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:58:50