Spark集群部署完了,但是有一个很大的问题,那就是 Master 节点存在单点故障,要解决此问题,就要借助 zookeeper,并且启动至少两个 Master 节点来实现高可靠,配置方式比较简单
Spark 集群规划:master01,master02 是 Master;slave01,slave02,slave03是 Worker
停止 spark 所有服务,修改配置文件 spark-env.sh,在该配置文件中删掉SPARK_MASTER_HOST 并添加如下配置
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1,zk2,zk3 -Dspark.deploy.zookeeper.dir=/spark"
1.在 master01 节点上修改 spark-env.sh 配置文件
2.将配置文件同步到所有节点。
3.在 master01 上执行 sbin/start-all.sh 脚本,启动集群并启动第一个 master
节点,然后在 master02 上执行 sbin/start-master.sh 启动第二个 master 节点。
4.程序中 spark 集群的访问地址需要改成:spark://master01:port1,master02:port2