我正在运行 hive 查询,在设置 hive.execution.engine=tez 时出现以下错误,而查询在 engine=MR 下工作。
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask
我的查询是内部联接,数据很大。
另一件事是我以前遇到过这个问题。但是 tez 后来工作了,所以我认为这是关于 hive 的一些不稳定因素。
我正在运行 hive 查询,在设置 hive.execution.engine=tez 时出现以下错误,而查询在 engine=MR 下工作。
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask
我的查询是内部联接,数据很大。
另一件事是我以前遇到过这个问题。但是 tez 后来工作了,所以我认为这是关于 hive 的一些不稳定因素。
通过 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
,我的查询顺利进行。
使用以下属性检查您的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>
找到了这篇文章,这使它对我有用。需要添加用户名
Hadoop