存在作业运行状态的映像。如您所见,map任务已经完成,reduce任务已经运行到90.74%。根据mapreduce模型,它不应该这样发生。怎么会这样?为什么?有什么办法解决吗?我的环境:hadoop 1.1.2,r1440782打开jdk 1.7.0\u 09-icedtea
68bkxrlz1#
如果一个或多个缩减器无法从给定的map任务或任务跟踪器(例如运行map task 00001的任务跟踪器由于某种原因失败)中提取temp map输出,则可能会发生这种情况。在这种情况下,hadoop将在另一个节点上重新运行map任务。在您的情况下,更复杂的是-看起来您有一个黑名单任务跟踪和一些失败的任务。我猜在这种情况下,在运行reducer阶段的过程中,在单个任务跟踪器上运行的所有reducer任务都失败了,导致任务跟踪器被列入黑名单。在这种情况下,在该节点上运行的任何map任务都需要重新安排,以便在另一个任务跟踪器上再次运行—因此需要5个挂起的map任务。至于如何解决这个问题,这是hadoop内置的一个错误处理案例。您应该检查失败的map任务和失败的reducer任务的日志以寻找线索,因为这可能有很多问题(磁盘空间、任务跟踪器的最大http线程数、reducer实现的内存要求、自定义可写内容的ser de方法中的错误等等)。请随意调查并追溯到原始问题(或新问题)
1条答案
按热度按时间68bkxrlz1#
如果一个或多个缩减器无法从给定的map任务或任务跟踪器(例如运行map task 00001的任务跟踪器由于某种原因失败)中提取temp map输出,则可能会发生这种情况。
在这种情况下,hadoop将在另一个节点上重新运行map任务。在您的情况下,更复杂的是-看起来您有一个黑名单任务跟踪和一些失败的任务。
我猜在这种情况下,在运行reducer阶段的过程中,在单个任务跟踪器上运行的所有reducer任务都失败了,导致任务跟踪器被列入黑名单。在这种情况下,在该节点上运行的任何map任务都需要重新安排,以便在另一个任务跟踪器上再次运行—因此需要5个挂起的map任务。
至于如何解决这个问题,这是hadoop内置的一个错误处理案例。您应该检查失败的map任务和失败的reducer任务的日志以寻找线索,因为这可能有很多问题(磁盘空间、任务跟踪器的最大http线程数、reducer实现的内存要求、自定义可写内容的ser de方法中的错误等等)。
请随意调查并追溯到原始问题(或新问题)