Spark Master HA思想

本文介绍了Spark集群中Master高可用性的四种实现方式,并重点探讨了ZooKeeper管理下的Master切换过程及影响,包括元数据的保存与恢复机制。

Master HA:

1.在生产环境下:

一般情况下使用ZooKeeper作为HA,且Master一般都是一个active和两个standby,ZooKeeper会自动管理Masters的切换。

2.采用ZooKeeper作为HA的时候,ZooKeeper会负责保存整个Spark集群运行的元数据:Workers、Drivers、Applications、Executors

3.ZooKeeper遇到当前Active级别的Master出现故障时会从Standby Masters选择出一台作为Active Master,但是要注意:被选举后到成为真正的Active Master之间要从ZooKeeper中获取集群当前运行状态的元数据信息进行恢复

4.在Master切换的过程中,所有的已经在运行的程序皆正常运行!因为Spark Application在运行前就已经通过 Cluster Manager获得了计算资源,所以在运行时Job本身的调度和处理和Master是没有任何关系的。

5.在Master的切换过程中唯一的影响是不能提交新的Job:一方面不能够提交新的应用程序给集群,因为只有Active Manager才能接收新的程序的提交请求;另一方面,已经运行的程序也不能够因为Action 操作触发新的Job的提交请求。


Master HA的四大方式:

1. ZooKeeper,自动管理Master

2. FILESYSTEM,元数据信息保存在本地文件,Master出现故障后,需要手动重新启动,机器启动后会立即成为Active级别的Master,来对外提供服务(接收应用程序提交的请求、接收新的Job运行的请求)

3. CUSTOM,允许用户自动自定义Master HA的实现,这对于高级用户特别有用

4. NONE,默认情况,当下载安装Spark集群后,就是采用这个方式,该方式不会持久化集群的数据,Master启动后立即管理集群


PersistenceEngine中有一个重要的方法persist来持久化数据。


FIFLSYSTEM和NONE

均是采用MonarchyEletionAgent的方式来完成Leader的选举的。实现的方式是,直接将传入的Master作为Leader。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值