2013-07-29 17 views
15

Apache Pig11.1.1をHadoop 2.0.5で実行しています。Apache Pigの接続エラー

私が豚で走るほとんどの簡単な仕事は、完璧にうまく動作します。

しかし、私は大規模なデータセット、またはLIMITのオペレータにGROUP BYを使用しようとするたびに、私はこれらの接続エラーを取得:

2013-07-29 13:24:08,591 [main] INFO org.apache.hadoop.mapred.ClientServiceDelegate - Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server 
013-07-29 11:57:29,421 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 

2013-07-29 11:57:30,421 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 

2013-07-29 11:57:31,422 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 
... 
2013-07-29 13:24:18,597 [main] INFO org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 
2013-07-29 13:24:18,598 [main] ERROR org.apache.hadoop.security.UserGroupInformation - PriviledgedActionException as:gpadmin (auth:SIMPLE) cause:java.io.IOException 

奇妙なことは、これらのエラーの後、約2分間の登場に保つということです、彼らは停止し、正しい出力が下部に表示されます。

したがって、Hadoopは正常に動作し、適切な出力を計算しています。問題は、ポップアップを維持するこれらの接続エラーだけです。

LIMITオペレータは常にこのエラーを受け取ります。 MapReduceモードとローカルモードの両方で発生します。 GROUP BYオペレータは小さなデータセットでうまく動作します。

私が気付いたことは、このエラーが表示されるたびにジョブがジョブ中に複数のJARファイルを作成して実行していたことです。しかし、これらのメッセージがポップアップしてから数分後、最終的に正しい出力が表示されます。

これらのメッセージを取り除く方法に関する提案はありますか?

+0

:私は歴史サーバを起動するには、次のコマンドを使用しましたあなたのnamenodeはローカルですか?そうでない場合は、0.0.0.0でアクセスしようとしています。 core-site.xmlからnamenodeの場所を取得していないか、/ etc/hostsファイルが壊れている可能性があります。 –

+0

namenodeはローカルです。 core-site.xmlと/ etc/hostsは、私の他のPig/Hadoopジョブの大半が必要な方法で動作するため、すべて正しく設定されているようです。さらに、接続エラーが数分間表示された後、正しいジョブ出力が表示されます。だから私は問題が他のものだと思う。 –

+0

@AndyBotelho恐らくジョブヒストリーサーバーのログを確認する価値があります –

答えて

30

はいジョブヒストリサーバーが実行されていないという問題がありました。

mr-jobhistory-daemon.sh start historyserver 

このコマンドは、ジョブ履歴サーバを起動する:

我々はこの問題を解決するためにしなければならなかったすべては、コマンドプロンプトに次のコマンドを入力しました。ここで「jps」と入力すると、JobHistoryServerが実行中で、Pigジョブがサーバーに接続しようとする時間を無駄にしないことがわかります。

+1

これは非常に役に立ちました。 Pig 0.13 Hadoop 2.3.0 - 正常に終了しない場合は、10回再試行して、もう一度やり直してください。 – jeveloper

+0

これは完璧な答えです! –

+1

このファイルは、私のバージョン – WattsInABox

4

私はこの問題は、hadoopのマップサイトの設定の問題と関連していると思います。 History Serverはlocalhostでデフォルトで実行されるため、構成済みのホストを追加する必要があります。

<property> 
<name>mapreduce.jobhistory.address</name> 
<value>host:port</value> 
</property> 

、このコマンドを解雇 -

mr-jobhistory-daemon.sh start historyserver 
1

私はHadoopの2.6.0を使用していますので、私は

$ mr-jobhistory-daemon.sh --config /usr/local/hadoop/etc start historyserver 

、は/ usr/local/Hadoopのの/ etcさをしなければなりませんでした私のHADOOP_CONF_DIR。

0

私はHadoop 2.2.0を使用しています。この問題は、履歴サーバーが実行されていないために発生しました。私は履歴サーバーを起動しなければならなかった。

[ルート@ localhostの〜] $ /usr/lib/hadoop-2.2.0/sbin/mr-jobhistory-daemon.sh 開始historyserver