【问题标题】:hadoop map reduce job pending too longhadoop map reduce作业挂起时间过长
【发布时间】:2013-09-23 15:18:24
【问题描述】:

我有一个关于运行 hadoop mapreduce 作业的问题。我有一个表工作人员,按加入日期划分。 像这样创建语句:

创建表人员(id int,age int)按(join_date string)行格式分隔字段分区,以'\;'结尾;

我将一些数据放入分区'20130921'然后当我执行下面的语句时,结果是好的:

select count(*) from staff where join_date='20130921';**

但是当我在分区“20130922”(没有数据的分区)上执行时,map reduce 作业挂起的时间太长,似乎永远运行:

hive> select count(*) from staff where join_date='20130922';**

Total MapReduce 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 mapred.reduce.tasks=<number>**

**Starting Job** = `job_201309231116_0131, Tracking URL = ....jobid=job_201309231116_0131`

**Kill Command** = `/u01/hadoop-0.20.203.0/bin/../bin/hadoop job  -kill job_201309231116_0131`

Hadoop job information for Stage-1: number of mappers: 0; number of reducers: 1
2013-09-23 17:19:07,182 Stage-1 map = 0%,  reduce = 0%
2013-09-23 17:19:07,182 Stage-1 map = 0%,  reduce = 0%
2013-09-23 17:19:07,182 Stage-1 map = 0%,  reduce = 0%

jobtracker 显示减少任务挂起,这个工作似乎无法完成。

我正在使用 hadoop-0.20.203.0 和 hive-0.10.0。我google了一整天,但没有发现任何主题有同样的问题,请帮助我。

最好的问候。

【问题讨论】:

  • 您在 TaskTracker 日志中发现了什么有趣的东西吗?
  • 我跟踪了 jobtracker、tasktracker、job log 的日志,但没有找到任何警告或错误日志。我用不使用分区的表测试'select count(*)'语句,结果相同,map reduce 作业无法完成。我尝试使用属性 'mapreduce.task.timeout' 但 hadoop 不会杀死工作。

标签: hadoop mapreduce hive


【解决方案1】:

这似乎是您的 Hive 安装的问题。我遇到了类似的问题。您可以尝试重新启动 Hive Server 和 Hive Metastore。这解决了我的问题。

【讨论】:

  • 将hadoop升级到1.2.1后,问题就消失了。我认为这是旧 hadoop 版本的错误。谢谢回复:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多