2013-03-17 53 views
1

要計算作業跟蹤器將創建的mappers的數量很容易理解。它基本上是hdfs文件的大小除以分割大小。因此,如果hdfs文件的大小爲640MB,分割爲64MB,則作業跟蹤器將創建10個映射器。但是有時創建的mappers的數量比你期望的要多。當作業完成後,我會查看屏幕上的相片,以瞭解創建的製圖人數。在hadoop中創建的mappers的數量

我的問題是以下幾點:是否可以理解爲什麼更多的映射器創建,也許通過查看不同的日誌?

注意:我有一個地圖縮減工作和相同的工作,當在不同的時間執行報告不同的地圖工作者。儘管創建的額外映射器並不是很大。

+1

什麼是您的輸入格式,什麼是文件壓縮(如果有的話),以及在觀察波動的映射器計數的每次運行之間文件的數量是否不變(基本上,您不應該看到可變數量的映射器如果作業調用之間的文件保持不變) – 2013-03-17 00:35:32

+1

輸入格式爲文本,不壓縮。只有一個文件很龐大。我認爲創建的最小映射器的數量等於文件大小/輸入分割大小。 – 0xhacker 2013-03-17 03:22:48

回答

1

我在閱讀作業跟蹤器生成的日誌後發現,額外的映射器是在已經分配的映射器需要很長時間才能完成時創建的,這些映射器只是散佈者。

Hadoop的分配時,這樣的任務,但它確實是如下: attempt_200707121733_0002_m_000005_1

這意味着作業服務器目前正試圖分配五號地圖任務作業2月1日任務的嘗試。任務嘗試從0開始。

+0

這被稱爲投機執行。更多細節[這裏](http://adhoop.wordpress.com/2012/02/24/speculative-execution-in-hadoop/)和[這裏](https://www.inkling.com/read/hadoop-明確的導-TOM - 白 - 第三/章節-6 /任務執行)。 – 2013-03-18 01:44:53