2012-04-29 15 views
0

C++で書かれた比較的シンプルなプログラムがあり、MapReduceジョブ用にHadoop Streamingを使用しています(Hadoopの私のバージョンはClouderaです)。Hadoop Streaming task failure

最近、多くのストリーミングタスクが失敗し、タスクトラッカーによって最後に正常に終了してから再開されることがわかりました。私はユーザーのログを追跡し、MapReduceタスクの中にはゼロ入力があるようです。具体的には、次のようなエラーメッセージが表示されます。

HOST=null 
USER=mapred 
HADOOP_USER=null 
last Hadoop input: |null| 
last tool output: |TCGA-06-0216-0000024576-0000008192 0 27743 10716| 
Date: Sun Apr 29 15:55:51 EDT 2012 
java.io.IOException: Broken pipe 

エラー率がかなり高い(50%近く)場合があります。私はそれが普通だとは思わない。 誰でも知っていますか

a)何が起こっていますか?

b)どうすれば修正できますか?

ありがとうございました

答えて

1

あなたのデータの文字数は他の言語(中国語など)ですか?

もしそうなら、 (1)HadoopクラスタのJVMの文字エンコード設定をチェックしてください。デフォルトでUTF-8に設定されている可能性があります。 (2)マッパー/レデューサー:マッパー/レデューサーがUTF-8(またはJVMを設定した文字エンコーディング)の文字を出力していることを確認してください。

+0

私のデータは英語の文字列と英語以外の文字はありません。 – ablimit

関連する問題