首先,讓我解釋一下我正在嘗試做什麼:)。真的讓這個hadoop事情頭痛,真的需要幫助,節省meeeee :)在hadoop上運行lucene搜索出錯
我使用大文本文件中的每個記錄執行搜索Lucene的索引,然後按結果,因爲我想和寫入輸出。
所以,我想通過將大輸入文本文件和預先創建的lucene索引放在hadoop的文件系統上來使用hadoop。然後,我更改了我的java程序,它執行文件處理(讀取文件記錄,在lucene上進行搜索,寫入輸出)以從Hadoop文件系統讀取記錄,並在內存中創建lucene索引。我揭開序幕的Hadoop作業的命令是象下面這樣:
hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.3.jar
-libjars lucene-core-3.6.0.jar,hadoop-core-1.0.3.jar,concept.jar
-mapper "java concept.HadoopConceptRunner"
-input myBigInputFile
-output myOutput
-reducer NONE
注意,「concept.jar」包含concept.HadoopConceptRunner類,這是我寫的:)。
我頭疼的是,我不能讓這個Hadoop的作業運行正確=。=」我有例外像下面。而我無法找到任何其他有意義,可以幫助我解決這個問題。
Error: # of failed Map Tasks exceeded allowed limit. FailedCount: 1.
和
java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1
我用Hadoop太新了,真正從我們對這個社會感謝您的幫助!
BTW:什麼爲t他需要用作Mapper的java類嗎?目前我的概念.HadoopConceptRunner類不擴展或覆蓋任何hadoop類的方法。這是一個可能的問題嗎?我不確定這是一個問題,因爲我使用hadoop的awk腳本,它運行得很好...... – trillions 2012-07-29 00:27:09