原理
Spark Standalone集羣是Master-Slaves架構的集羣模式,和大部分的Master-Slaves結構集羣一樣,存在着Master單點故障的問題。
如何解決這個單點故障的問題,Spark提供了兩種方案:
1.基於文件系統的單點恢復(Single-Node Recovery with Local File System)--只能用於開發或測試環境。
2.基於zookeeper的Standby Masters(Standby Masters with ZooKeeper)--可以用於生產環境。
配置Standalone-Ha高可用
修改spark-env.sh文件
#配置java環境變量
export JAVA_HOME=${JAVA_HOME}
#指定spark Master的端口
export SPARK_MASTER_PORT=7077
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node01:2181,node02:2181,nod
e03:2181 -Dspark.deploy.zookeeper.dir=/spark"
將修改的配置文集分發到其他節點
scp spark-env.sh node02:/$PWD
scp spark-env.sh node03:/$PWD
啓動
啓動zookeeper(三個節點啓動)
zkServer.sh start
啓動spark
./start-all.sh
第二個節點啓動Master
./start-master.sh
測試
主節點:http://192.168.100.201:8080/
備用接待:http://192.168.100.202:8080/
使用kill -9 殺死主節點