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

Amazon EMR Yarn集群Hive on Tez报“No LLAP Daemons are running”错误求助

排查LLAP服务报错“No LLAP Daemons are running”的解决方案

从你提供的日志和描述来看,核心问题是Hive无法发现任何运行中的LLAP实例(日志里多次出现#instances: 0),结合你未启用LLAP时Hive on Tez运行正常的情况,问题大概率出在LLAP服务的启动、注册或配置一致性上,下面是具体的排查步骤:

1. 先确认LLAP服务是否真的启动并注册到YARN

首先要排除LLAP根本没起来的情况:

  • 登录EMR集群的主节点,执行命令 yarn application -list,查看输出里是否有名为llap_service的YARN应用。如果没有,说明LLAP服务未成功启动。
  • 查看LLAP Daemon的日志文件(通常路径是/var/log/hive/llap/),检查启动时是否有报错——比如内存不足(LLAP需要预留足够的堆内存)、端口被占用、权限不足(比如无法写入日志目录)等问题。
  • 也可以通过EMR控制台的“服务”页面,直接查看LLAP服务的运行状态,确认实例数是否大于0。

2. 检查LLAP服务名称的配置一致性

你已经设置了hive.llap.daemon.service.hosts = @llap_service,但要确保这个服务名称和实际LLAP服务的名称完全匹配:

  • 检查hive-site.xml中的hive.llap.daemon.service.name配置项,确认它的值也是llap_service(这个配置定义了LLAP服务在YARN中的注册名称)。
  • YARN的服务名称是区分大小写的,别出现拼写错误(比如把llap_service写成Llap_Service)。

3. 验证YARN资源调度是否阻碍了LLAP启动

LLAP Daemon需要占用固定的YARN资源,如果集群资源不足或队列配额限制,可能导致LLAP实例无法启动:

  • 执行yarn node -list查看集群节点的可用资源,对比LLAP的配置(比如hive.llap.daemon.num.executors、hive.llap.daemon.memory、hive.llap.daemon.vcores),确认集群有足够的资源分配给LLAP。
  • 检查YARN的调度器配置(比如Capacity Scheduler的capacity-scheduler.xml),确认LLAP所在的队列有足够的内存和CPU配额,避免被其他任务抢占资源。

4. 检查EMR组件版本兼容性

某些EMR版本中,Hive、Tez和LLAP之间存在兼容性问题,可能导致LLAP无法正常注册:

  • 确认你使用的EMR版本是否官方支持LLAP服务(比如EMR 5.10+开始支持LLAP),如果是较旧的版本,尝试升级到兼容的EMR版本。
  • 检查EMR集群中Hive和Tez的版本匹配情况,比如某些Hive版本需要特定版本的Tez才能配合LLAP正常工作。

如果经过上面的排查还是无法解决,可以把LLAP Daemon启动日志中的具体报错信息贴出来,这样能更精准地定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:50:12