2016-12-14 10 views
2

ローカルモードのシェルで​​コマンドを使用して実行したSpark WordCountアプリケーションを作成しました。SparkアプリケーションをクラスタモードでYARNに提出するには?

私はコマンドを使用してYARNにclusterモードでそれを実行しよう:

spark-submit --class com.WordCount --master yarn --deploy-mode cluster WordCount-1.0.jar 

それが実行されていないようだと、ステータスを示していますapplication_1480577073003_0019ため

アプリケーション・レポート(状態:ACCEPTED)

How to​​クラスタモードのYARNへのSparkアプリケーション?

+1

ジョブのすべての要件がエグゼキュータ、コアなどの糸で利用できることを確認してください – Chobeat

答えて

0

この問題の原因は、アプリケーション/ドライバがその時点でクラスタ内の使用可能なリソースより多くのリソースを要求しているためです。

リソースパラメータを指定していないため、ドライバはデフォルト値のリソースを要求します。これは、クラスタがリソースを提供できないことを意味します。

考えられる理由:

  1. あなたのクラスタは十分なメモリ/コア(デフォルト1ギガバイト、1core)
  2. と執行を持っていないあなたのクラスタは十分なメモリ/コアと執行を持っていますが、それらが割り当てられていますいくつかの他の仕事。

ソリューション:

  1. どちらか
  2. 以上のエグゼキュータを追加することにより、クラスタリソースを増やすか、他のを待つエグゼメモリ/コア要求のデフォルト値を減らすか、糸コンテナあたりのメモリ/コアを増やします[あなたがそれらの仕事が嫌いな場合は、それらを殺す]]
0

あなたの後に、あなたのスパークアプリケーション、drエグゼキュータはクラスタのノードにあります。 Spark's official documentationから

:ドライバー・プロセスが実行される場所を区別し

配備モード。 「クラスタ」モードでは、フレームワークはクラスタ内でドライバを起動します。 「クライアント」モードでは、サブミッターはクラスターの外部にドライバーを起動します。

アプリケーションIDはアプリケーションのハンドルになります。

yarn application -statusコマンドを使用して、Sparkアプリケーションのステータスを確認する必要があります。

-statusアプリケーションのステータスを表示します。

関連する問題