2 つの仮想マシンで Spark スタンドアロン クラスターを作成しました。
最初の 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
ました。
次に、最初の VM で、上記のスレーブ コマンドを使用してスレーブも起動しました。下の写真では、ワーカーとマスターの両方が開始され、ALIVE になっていることがわかります。
しかし、Spark アプリケーションを実行すると、2 番目の VM のワーカーのみが実行されます ( worker-20160613102937-10.0.37.150-47668
)。1 番目の VM ( worker-20160613103042-10.0.37.142-52601
) のワーカーは実行されません。下の写真を参照してください
Spark アプリケーションで両方のワーカーを使用する必要があります。これはどのように行うことができますか?
編集: VM 1st のワーカーに対応するエグゼキューターが失敗したエグゼキューターの概要のこの写真を参照してください。
stdout
またはをクリックするとstderr
、 のエラーが表示されますinvalid log directory
。下の写真を参照してください