Spark03——Spark HA高可用部署

1、高可用部署说明

Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单点故障的问题。
如何解决这个单点故障的问题,Spark提供了两种方案:

1 、基于文件系统的单点恢复(Single-Node Recovery with Local File System)。

主要用于开发或测试环境
当spark提供目录保存spark Application和worker的注册信息,并将他们的恢复状态写入该目录中,这时,一旦Master发生故障,就可以通过重新启动Master进程(sbin/start-master.sh),恢复已运行的spark Application和worker的注册信息。

2、基于zookeeper的Standby Masters(Standby Masters with ZooKeeper)。

主要用于生产模式
其基本原理是通过zookeeper来选举一个Master,其他的Master处于Standby状态。将spark集群连接到同一个ZooKeeper实例并启动多个Master,利用zookeeper提供的选举和状态保存功能,可以使一个Master被选举成活着的master,而其他Master处于Standby状态。
如果现任Master死去,另一个Master会通过选举产生,并恢复到旧的Master状态,然后恢复调度。整个恢复过程可能要1-2分钟。

2、基于zookeeper的Spark HA高可用集群部署

该HA方案首先需要搭建一个zookeeper集群,然后启动zooKeeper集群,最后在不同节点上启动Master。具体配置如下:

2.1 停止Spark进程,启动zookeeper进程。
2.2 配置文件更改
vim spark-env.sh

export SPARK_MASTER_HOST=node01 进行注释。
同时在spark-env.sh中添加SPARK_DAEMON_JAVA_OPTS,内容如下:

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER  -Dspark.deploy.zookeeper.url=node01:2181,node02:2181,node03:2181  -Dspark.deploy.zookeeper.dir=/spark"

在这里插入图片描述

参数说明
spark.deploy.recoveryMode:恢复模式(Master重新启动的模式)
有三种:(1)ZooKeeper (2) FileSystem (3)NONE

spark.deploy.zookeeper.url:ZooKeeper的Server地址

spark.deploy.zookeeper.dir:保存集群元数据信息的文件、目录。包括Worker,Driver和Application。

注意:
在普通模式下启动spark集群,只需要在主机上面执行 start-all.sh 就可以了。
在高可用模式下启动spark集群,先需要在任意一台节点上启动 start-all.sh命令。然后在另外一台节点上单独启动master。命令start-master.sh

1.在任意一台节点启动start-all.sh
在这里插入图片描述
2.在另外一台启动master
在这里插入图片描述
3. 观察集群状态
由于先启动的node01,所以这时node01的master状态是alive。后启动的node02的master,node02的master的状态为StandBy。如图所示:
在这里插入图片描述

在这里插入图片描述

当停掉node01的master后(或者意外宕机后),过一分钟左右,可以发现node02 的master状态变为Alive.
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值