2016-12-09 8 views
1

Spark 1.6.2では奇妙な問題が発生しています。 Sparkアプリケーションをclsuterモードで送信しています。すべて問題はありませんが、アプリケーションを起動したクライアントプロセスがハングアップすることがあります。それをロック解除する唯一の方法は、そのsterrを検査することです:それは終了します。私は例を挙げて何を意味するのかを説明しようとしています。スパーククライアントは糸クラスターモードで動作することはありません

当社は、クラスタのエッジノードであり、私たちが実行します。

spark-submit --master yarn-cluster ... & 

それは(私たちは糸からそれを見ることができるスパークアプリケーションが実行され、終了すると、クライアントプロセスのpidはその後12435.であることが判明SparkのUI)。それにもかかわらず、エッジノードにおいて、プロセス12435は生き残り、決して終了しない。次に、/ proc/12435/fd/2から出力を検査しようとします。これを行うと、プロセスは終了します。

何が起こっているのか、どのように修正するのか理解できません。誰かがアイデアを持っていますか?

これは、スパークとは何の関係も持っていない、 マルコ

答えて

0

、ありがとうございました。

これはシェルの問題です。エラーログをどこにでもリダイレクトするのを忘れています。

コマンドの出力ストリームはstdoutとstderrの2つあり、バックグラウンドジョブの開始時に両方を提供する必要があります。

両方の出力を同じファイルにリダイレクトする場合。

spark-submit --master yarn-cluster ... > ~/output.txt 2>&1 & 

あなたが他の

spark-submit --master yarn-cluster ... > ~/output.txt 2>~/error.txt & 
+0

に1でエラーおよび出力ログをしたい場合は、実際に私たちは、Apache NiFiおよび出力を介してコマンドを起動しているので、あなたの答えをありがとうございましたが、これはそうではありませんNiFiにリダイレクトされます。 – mgaido

+1

私はまだ手作業でspark-submitを起動して見て、それを排除することを提案します。 –

関連する問題