Master主備切換機制

2021-09-22 10:26:38 字數 1066 閱讀 6513

目錄

1.含義

2.完成過程

3.master.scala => completerecovery()分析

4.重點方法

5.清理機制彙總

實際指master的切換,將出故障的 active master 替換為 standby master 

1>更新worker狀態為 dead

2>遍歷 worker中的executors,呼叫 removeexecutor()

3>遍歷 worker中的 drivers:

將描述為  desc.supervise ,呼叫 relaunchdriver()

其餘 removedriver()

4>最後從固有的worker引擎 persistenceengine 中呼叫 removeworker()

(2)workerinfo.removeexecutor()

移除id,移除占用的cpu cores

if (executors.contains(exec.id))

(3)master.relaunchdriver()

driver.worker = none

driver.state = driverstate.relaunching

waitingdrivers += driver

schedule()

(4)master.removedriver()

drivers.find(d => d.id == driverid) match 

persistenceengine.removedriver(driver)

driver.worker.foreach(w => w.removedriver(driver))

schedule()

(1)從記憶體快取結構中移除

(2)從相關元件的記憶體快取中移除

(3)從持久化儲存中移除

opengauss 主備切換

第一步 準備切換為主節點的備節點,執行如下 主備均 正常的時候 gs ctl switchover d opt huawei install data db1 在 主 宕機或者失聯等情況下 在備節點 執行下面的命令 gs ctl failover d opt huawei install data ...

keepalived實現主備切換

wget tar zxvf keepalived 1.2.18 tar.gz c usr local yum install y openssl openssl devel cd keepalived 1.2.18 configure prefix usr local keepalived make...

Keepalived Nginx主備切換實現高可用

keepalived nginx主備切換 實現高可用 keepalived 基於vrrp 虛擬路由器冗餘協議 來實現對web服務的高可用方案 安裝keepalived 1.configure prefix data program keepalived sysconf etc 2.缺少依賴opens...