web-dev-qa-db-fra.com

Spark - Comment exécuter un cluster autonome localement

Existe-t-il la possibilité d'exécuter le cluster autonome Spark localement sur une seule machine (ce qui est fondamentalement différent du simple développement de travaux localement (c'est-à-dire local[*])) ?.

Jusqu'à présent, j'exécute 2 machines virtuelles différentes pour créer un cluster, et si je pouvais exécuter un cluster autonome sur la même machine, ayant par exemple trois JVM différentes en cours d'exécution?

Quelque chose comme avoir plusieurs adresses de bouclage pourrait-il faire l'affaire?

18
luke

oui vous pouvez le faire, lancez un nœud maître et un nœud de travail et vous êtes prêt à partir

lancer le maître

./sbin/start-master.sh

lancer le travailleur

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

exécuter l'exemple 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 Documentation du mode autonome

25
banjara

Une petite mise à jour comme pour la dernière version (la 2.1.0), la valeur par défaut est de lier le maître au nom d'hôte, donc lors du démarrage local d'un travailleur, utilisez la sortie de hostname:

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

Et pour exécuter un exemple, exécutez simplement la commande suivante:

bin/run-example SparkPi
7
Adonis

Si vous ne trouvez pas le ./sbin/start-master.sh fichier sur votre machine, vous pouvez également démarrer le maître avec

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