0

我正在使用 Amazon EMR (Hadoop 0.20.205) 并注意到我的一项任务处于奇怪的状态(见下文)。即使我的第一次尝试仍在运行,也启动了第二次任务尝试。我的其他任务都通过一次任务尝试完成。可能是什么原因?

   +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
   |            Task Attempts             | Machine                     | Status  | Progress | Start Time           | Shuffle Finished                    | Sort Finished               | Finish Time | Errors | Task Logs | Counters | Actions | 
   |--------------------------------------+-----------------------------+---------+----------+----------------------+-------------------------------------+-----------------------------+-------------+--------+-----------+----------+---------|
   |                                      |                             |         | 66.69%   |                      |                                     |                             |             |        | Last 4KB  |          |         | 
   | attempt_201209121354_0021_r_000017_0 | /default-rack/xxx...        | RUNNING |          | 13-Sep-2012 13:10:28 | 13-Sep-2012 13:16:48 (6mins, 19sec) | 13-Sep-2012 13:16:58 (9sec) |             |        | Last 8KB  | 0        |         | 
   |                                      |                             |         | +------+ |                      |                                     |                             |             |        | All       |          |         | 
   |                                      |                             |         | +------+ |                      |                                     |                             |             |        |           |          |         |           
   |--------------------------------------+-----------------------------+---------+----------+----------------------+-------------------------------------+-----------------------------+-------------+--------+-----------+----------+---------|
   |                                      |                             |         | 66.69%   |                      |                                     |                             |             |        | Last 4KB  |          |         | 
   | attempt_201209121354_0021_r_000017_1 | /default-rack/xxx...        | RUNNING |          | 13-Sep-2012 13:14:55 | 13-Sep-2012 13:18:58 (4mins, 3sec)  | 13-Sep-2012 13:19:00 (2sec) |             |        | Last 8KB  | 0        |         | 
   |                                      |                             |         | +------+ |                      |                                     |                             |             |        | All       |          |         | 
   |                                      |                             |         | +------+ |                      |                                     |                             |             |        |           |          |         |           
   +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4

2 回答 2

4

Hadoop 默认使用推测执行。它将启动同一任务的两个实例,一旦一个完成,它将杀死尚未完成的一个。任务完成后,Web UI 通常会从作业的网页中删除推测任务(至少在 20.2 中是这样)。

于 2012-09-13T14:40:01.097 回答
1

首先,您打开了推测执行(如马特所示,默认情况下它是打开的)。现在,推测执行很有用,例如,如果您的 Hadoop 服务器并非全部相同,并且有些服务器比其他服务器更新/更快。

在我们较旧的 Hadoop 集群中,我看到很多情况下第二个实例比原始实例完成得更快。

于 2012-09-14T09:54:10.830 回答