【发布时间】:2018-01-16 01:33:20
【问题描述】:
我已经部署了一个带有 MR 的 CDH-5.9 集群作为 Hive 执行引擎。我有一个名为“users”的配置单元表,有 50 行。每当我执行查询select * from users 时都可以正常工作,如下所示:
hive> select * from users;
OK
Adam 1 38 ATK093 CHEF
Benjamin 2 24 ATK032 SERVANT
Charles 3 45 ATK107 CASHIER
Ivy 4 30 ATK384 SERVANT
Linda 5 23 ATK132 ASSISTANT
.
.
.
Time taken: 0.059 seconds, Fetched: 50 row(s)
但在提交为 mr 作业后发出 select max(age) from users 失败。容器日志也没有任何信息来找出它失败的原因。
hive> select max(age) from users;
Query ID = canballuser_20170808020101_5ed7c6b7-097f-4f5f-af68-486b45d7d4e
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapreduce.job.reduces=<number>
Starting Job = job_1501851520242_0010, Tracking URL = http://hadoop-master:8088/proxy/application_1501851520242_0010/
Kill Command = /opt/cloudera/parcels/CDH-5.9.1-1.cdh5.9.1.p0.4/lib/hadoop/bin/hadoop job -kill job_1501851520242_0010
Hadoop job information for Stage-1: number of mappers: 0; number of reducers: 0
2017-08-08 02:01:11,472 Stage-1 map = 0%, reduce = 0%
Ended Job = job_1501851520242_0010 with errors
Error during job, obtaining debugging information...
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched:
Stage-Stage-1: HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec
如果我从 hive cli 获得 hive 查询执行的工作流程,这可能对我进一步调试问题有所帮助。
【问题讨论】:
-
转到 Tracking URL = hadoop-master:8088/proxy/application_1501851520242_0010 并仔细检查 AM 的日志以及失败(未终止)的容器尝试。应该有信息。
-
@leftjoin 感谢您的信息,这是我的错误,我查看了旧的应用程序日志而不是问题中提到的应用程序 ID。现在它是一个jar依赖问题,我解决了它。但是,如果您知道工作流程,请解释一下,分享知识。
标签: hive mapreduce hiveql hadoop2 cloudera-cdh