原理
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 杀死主节点