2012-05-29 58 views
0

當前設置:
- Hadoop的0.20.2-cdh3u3
- HBase的版本0.90.4-cdh3u3
- 碼頭-6.1.14
- 運行在虛擬機(Debian的擠壓)的Hadoop MapReduce的getMapOutput失敗

在Hbase表的mapreduce過程中出現問題。在減少階段崩潰每次在與tasktracker.log這些日誌非常相同點:

ERROR org.apache.hadoop.mapred.TaskTracker: getMapOutput(attempt_201205290717_0001_m_000010_0,3) failed: 
org.mortbay.jetty.EofException 

WARN org.mortbay.log: Committed before 410 getMapOutput(attempt_201205290717_0001_m_000010_0,3) failed : 
org.mortbay.jetty.EofException 

ERROR org.mortbay.log: /mapOutput 
java.lang.IllegalStateException: Committed 

希望能有人之前所面臨的相同或類似的問題,尋找解決的辦法。

回答

0

當reduce Task提前關閉到碼頭服務器的連接時,會看到Jetty EOFException。重新啓動任務管理器並再次運行該任務。看看它是否適合你。

1

我在這裏面臨同樣的問題。

在我的集羣上,這發生在所有從屬(datanode & tasttrackers)上,除了一個,這導致一般reduce過程首先非常緩慢地進行,並且在到目前爲止由於一些錯誤。減少過程然後重新開始:作業永遠不會結束。

錯誤跟蹤器中存在一個公開的主要問題。請參見https://issues.apache.org/jira/browse/MAPREDUCE-5

讓我們希望它有一天會被修復,但在此刻,我無法使用我的hadoop程序和大於3 GB的大文件。在我的情況下,我希望,我可以通過額外的數據清理和更高效的數據結構(trove,fastutils)來修復它,所以問題根本不會發生,但是說實話,這有點像這裏的錯誤方法。不要做那些較小的調整是無論如何以hadoop開始的主要原因。