Hive tez 执行错误

Posted

技术标签:

【中文标题】Hive tez 执行错误【英文标题】:Hive tez execution error 【发布时间】:2015-11-05 22:05:47 【问题描述】:

我正在运行 hive 查询,在设置 hive.execution.engine=tez 时出现以下错误,而查询在 engine=MR 下工作。

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask

我的查询是内连接,数据很大。

另一件事是我以前遇到过这个问题。但是 tez 后来工作了,所以我认为这是关于 hive 的一些不稳定因素。

【问题讨论】:

我认为你的问题标题应该是“有这个执行错误”。打算编辑它,然后意识到标签:D 标题是 Hive 执行错误,将执行引擎设置为 tez。 【参考方案1】:

通过 hive 运行 HQL 时,请包含以下参数。这将为您提供详细的日志,您可以轻松确定根本原因。

-hiveconf hive.root.logger=DEBUG,console

我遇到了类似的问题,上面的属性帮了我很大的忙。

例如:我收到以下消息

16/04/14 10:29:26 ERROR exec.Task: Failed to execute tez graph.
org.apache.tez.dag.api.TezException: org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: Invalid resource request, requested memory < 0, or requested memory > max configured, requestedMemory=20480, maxMemory=11288

当我将设置更改为 11288 时,我的查询正常。

【讨论】:

【参考方案2】:

使用以下属性检查您的 yarn-site.xml

<property>
   <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    <description>Whether virtual memory limits will be enforced for containers</description>
  </property>
 <property>
   <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>4</value>
    <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description>
  </property>
 <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>1024</value>
  </property>
  <property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>2048</value>
  </property>
  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>2048</value>
  </property>
</configuration>

【讨论】:

【参考方案3】:

找到this post,这使它对我有用。需要添加用户名

Hadoop

【讨论】:

以上是关于Hive tez 执行错误的主要内容,如果未能解决你的问题,请参考以下文章

hive on tez 错误记录

在配置单元中执行查询时显示 Tez 顶点错误

hive集群tez引擎执行任务报错&&telnet Connection refused

hive集群tez引擎执行任务报错

从 Beeline 连接时,Hive 查询在 Tez 上失败,但在 Map-Reduce 上成功

Hive 查询执行失败