我正在使用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 | | |
| | | | +------+ | | | | | | | | |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
答案 0 :(得分:3)
Hadoop默认使用speculative execution。它将启动同一任务的两个实例,一旦完成,它将杀死尚未完成的任务。任务完成后,Web UI通常会从作业的网页中删除推测任务(至少在20.2中)。
答案 1 :(得分:1)
首先,您启用了推测性执行(如Matt所示,默认情况下处于启用状态)。 现在,如果您的Hadoop服务器并非完全相同且某些服务器比其他服务器更新/更快,那么推测执行非常有用。
在我们较旧的Hadoop集群中,我发现很多情况下第二个实例的完成速度比原始版本快。