大きなテキスト ファイル内の各レコードを使用して、Lucene のインデックスで検索を実行し、必要に応じて結果をマッサージして、出力に書き込みます。
大きな入力テキスト ファイルと作成済みの Lucene インデックスを Hadoop のファイル システムに配置して、Hadoop を使用しようとしています。次に、ファイル処理 (ファイル レコードの読み取り、Lucene での検索、出力の書き込み) を行う Java プログラムを変更して、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
このエラーを修正するにはどうすればよいですか?