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

Hive调用Tez执行SQL时错误连接localhost:18032,无法连接Yarn

Hive调用Tez连接Yarn地址错误的排查方案
  • 检查Hive关联的Tez/Yarn配置
    Hive执行SQL触发Tez任务时,会优先读取自身配置目录下的参数。重点核对hive-site.xml或Hive conf目录下的tez-site.xml、yarn-site.xml中的以下配置:

    • yarn.resourcemanager.address:确认值为hadoop-master:8032,而非localhost:18032或其他错误地址
    • tez.am.resource.address:若该参数被错误配置为localhost:18032,会直接导致Tez ApplicationMaster连接本地端口
  • 确认配置加载路径优先级
    直接运行Tez示例时,使用的是Hadoop全局配置($HADOOP_CONF_DIR下的文件),但Hive可能加载了自身conf目录下的独立配置。检查Hive的conf目录是否存在tez-site.xml或yarn-site.xml,若存在,需保证其中的Yarn地址与集群全局配置一致。

  • 验证Hive的环境变量配置
    确保Hive启动时正确加载了Hadoop集群的配置目录,需确认HADOOP_CONF_DIR环境变量指向集群的Hadoop配置路径。若Hive未读取到正确的yarn-site.xml,会使用默认的localhost地址。可在Hive启动脚本中添加export HADOOP_CONF_DIR=/path/to/your/hadoop/conf强制加载正确配置。

  • 排查端口配置异常
    日志中出现的18032端口与Yarn默认的8032不符,需检查所有配置文件是否存在端口写错的情况,比如误将yarn.resourcemanager.address设置为hadoop-master:18032,或者存在端口转发、代理规则导致地址被篡改。

  • 检查Hive会话生效配置
    进入Hive CLI后,执行如下命令查看当前生效的参数:

    set yarn.resourcemanager.address;
    set tez.am.resource.address;
    

    若结果显示为localhost:18032,说明会话级配置覆盖了全局设置。可通过hive-site.xml持久化配置,或启动Hive时临时指定:

    hive --hiveconf yarn.resourcemanager.address=hadoop-master:8032 --hiveconf tez.am.resource.address=hadoop-master:8032
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:41:00