高可用Spark集群的主备切换过程(原理概要)

本文介绍了Spark在standalone模式下实现高可用的主备切换机制,包括基于文件系统和Zookeeper的两种方式。当active master宕机,standby master将接管并进行一系列操作,如读取持久化信息、更新应用和worker状态、通知driver和worker、完成恢复并进行资源调度。详细阐述了standby master成为新active master的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spark在standalone运行模式下,可以配置spark master的HA,当active master节点宕机,就能把standby master切换成active。

主备切换的机制有2种:

(1)基于文件系统的切换——在active master挂掉后,手动切换到standby master节点上。

(2)基于zookeeper的切换——自动切换master。

 

那么,活跃节点宕机以后,待命节点 standby master做了哪些操作?

    步骤1:standby节点首先会去读取已经持久化了的storedApplication、storedDriver、storedWorkers,如果他们之一有任意一个非空的,就把它们注册到standby节点的内存当中

    步骤2:将application和workers的状态都修改为Unkown,然后向应用程序对应的driver和worker发送standby master的地址,“让小弟知道谁是新的老大”。

    步骤3:正在正常运行的driver和worker在上一步收到地址后,会向standby master节点发送响应信息。

    步骤4:standby节点收到响应信息后,会调用自身的completeRecovery()方法处理未发送响应信息的driver和worker,把它们滤掉,造成的结果是不对那些driver和对应的application分配资源。

    步骤5:此时,新的active master已经产生了,那么master会调用自身的schedule()方法,对那些等待资源调度的driver、application进行调度。例如为application在worker节点启动该application所需的Executor、在某个worker节点启动driver

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值