web-dev-qa-db-ja.com

Spark-スタンドアロンクラスタをローカルで実行する方法

Sparkスタンドアロンクラスターを1台のマシンでローカルに実行する可能性はありますか(基本的に、ローカルでジョブを開発するだけとは異なります(つまり、local[*]))?.

これまでのところ、クラスターを構築するために2つの異なるVMを実行しています。スタンドアロンのクラスターをまったく同じマシンで実行でき、たとえば 3つの異なるJVMを実行している場合はどうなりますか?

複数のループバックアドレスを持っているようなものがうまくいきますか?

18
luke

はい、それができます。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 

Apache Sparkスタンドアロンモードのドキュメント

25
banjara

最新バージョン(2.1.0)のような小さな更新では、デフォルトでマスターをホスト名にバインドするため、ワーカーをローカルで起動するときにhostnameの出力を使用します。

./bin/spark-class org.Apache.spark.deploy.worker.Worker  spark://`hostname`:7077 -c 1 -m 512M

例を実行するには、次のコマンドを実行します。

bin/run-example SparkPi
7
Adonis

マシンで./sbin/start-master.shファイルが見つからない場合は、次のコマンドでもマスターを起動できます

./bin/spark-class org.Apache.spark.deploy.master.Master
2
Jiri Kremser