Sparkスタンドアロンクラスターを1台のマシンでローカルに実行する可能性はありますか(基本的に、ローカルでジョブを開発するだけとは異なります(つまり、local[*]
))?.
これまでのところ、クラスターを構築するために2つの異なるVMを実行しています。スタンドアロンのクラスターをまったく同じマシンで実行でき、たとえば 3つの異なるJVMを実行している場合はどうなりますか?
複数のループバックアドレスを持っているようなものがうまくいきますか?
はい、それができます。1つのマスターと1つのワーカーノードを起動します。
起動マスター
./sbin/start-master.sh
打ち上げ労働者
./bin/spark-class org.Apache.spark.deploy.worker.Worker spark://localhost:7077 -c 1 -m 512M
sparkPiの例を実行する
./bin/spark-submit --class org.Apache.spark.examples.SparkPi --master spark://localhost:7077 lib/spark-examples-1.2.1-hadoop2.4.0.jar
最新バージョン(2.1.0)のような小さな更新では、デフォルトでマスターをホスト名にバインドするため、ワーカーをローカルで起動するときにhostname
の出力を使用します。
./bin/spark-class org.Apache.spark.deploy.worker.Worker spark://`hostname`:7077 -c 1 -m 512M
例を実行するには、次のコマンドを実行します。
bin/run-example SparkPi
マシンで./sbin/start-master.sh
ファイルが見つからない場合は、次のコマンドでもマスターを起動できます
./bin/spark-class org.Apache.spark.deploy.master.Master