Introduction: Le cluster Spark Standalone est un modèle de cluster de l'architecture maître-esclaves.Comme la plupart des clusters de la structure maître-esclaves, il existe un problème de point de défaillance principal (SPOF).
- Modèle de StandaloneHA: L'essence est basée sur ZK en tant qu'élection de chef
-Processus de construction: il suffit de faire quelques modifications du fichier de configuration en fonction du mode autonome précédent
- Configurer sur node01:
vim /export/server/spark/conf/spark-env.sh
注释或删除MASTER_HOST内容:
# SPARK_MASTER_HOST=node1
增加如下配置
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark-ha"
参数含义说明:
spark.deploy.recoveryMode:恢复模式
spark.deploy.zookeeper.url:ZooKeeper的Server地址
spark.deploy.zookeeper.dir:保存集群元数据信息的文件、目录。包括Worker、Driver、Application信息。
- Distribuer spark-env.sh au cluster
cd /export/server/spark/conf
scp -r spark-env.sh root@node2:$PWD
scp -r spark-env.sh root@node3:$PWD
- Démarrer le service de cluster
Démarrer le service ZOOKEEPER
zkServer.sh status
zkServer.sh stop
zkServer.sh start
node1上启动Spark集群执行
/export/server/spark/sbin/start-all.sh
在node2上再单独只起个master:
/export/server/spark/sbin/start-master.sh
查看 WebUI
http: // node1: 8080 /
http: // node2: 8080 /
- Terminez la configuration
tester:
- Utiliser la ligne de commande interactive SparkShell
bin/spark-shell --master spark://node1:7077,node2:7077
- test wordcount:
sc.textFile("hdfs://node1:8020/wordcount/input/words.txt").flatMap(x=>x.split("\\s+")).map(x=>(x,1)).reduceByKey((a,b)=>a+b).collect
- Test Pi:
bin/spark-submit \
--master spark://node1:7077,node2:7077 \
--class org.apache.spark.examples.SparkPi \
/export/server/spark/examples/jars/spark-examples_2.11-2.4.5.jar \
10
- Vérifiez le mode HA:
Effet:
Notez ici que le site officiel indique qu'il faut 1 à 2 minutes pour passer de l'état de veille à l'état actif.