2016-06-13 7 views
0

2台の仮想マシンを持つSpark Standalone Clusterを作成しました。
最初のVM(8コア、64 GBメモリ)では、コマンド bin/spark-class org.apache.spark.deploy.master.Masterを使用して手動でマスターを起動しました。
2つ目のVM(8コア、64 GBメモリ)では、私は
bin/spark-class org.apache.spark.deploy.worker.Worker spark://<hostname of master>:7077を使って手動でスレーブを起動しました。
次に、第1のVMでは、上記のスレーブコマンドを使用してスレーブを開始しました。下の写真では、両方の作業者がマスター&が起動していることがわかります&生きています。すべてのノードがSpark Standaloneクラスタで使用されているわけではありません

しかし、Sparkアプリケーションを実行すると、2番目のVMのワーカーだけが実行されます(worker-20160613102937-10.0.37.150-47668)。 1番目のVM(worker-20160613103042-10.0.37.142-52601)の作業者は実行されません。私は労働者の両方が、私のスパーク用途で使用されるべきで欲しいSpark Standalone Cluster UI

PIC

以下

を参照してください。これはどうすればできますか?

EDIT:VM 1stのワーカーに対応するエグゼキュータが失敗したExecutor summaryの図を参照してください。

Executor Summary

私はstdoutまたはstderrをクリックすると、それはinvalid log directoryのエラーを示しています。エラーが解決され

+0

処理している入力データが2つのエグゼキュータに分割されるほど大きいことは確かですか? –

答えて

0

error

PICの下を参照してください。 Sparkは第1のVM上にログディレクトリを作成できませんでした。 Sparkジョブを送信したユーザーには、パス /usr/local/sparkにファイルを作成する権限がありませんでした。ディレクトリ( chmod -R 777 /usr/local/spark)の読み取り/書き込みアクセス許可を変更するだけで、このトリックが実行されました。

関連する問題