HA執行流程
HA執行流程
1、叢集啟動2個NN,每個NN都會有一個ZKFC,每個zkfc到Zookeeper上爭搶一個臨時節點,哪個優先搶佔到了這個臨時節點,哪個就是Active,沒有搶到的就是standby ,同時變為standby的ZKFC會申請臨時節點的watch,監控臨時節點的狀態,(若節點發生變化,表示Active出現異常);
2、HA方案中有兩個NN,一個是NN,一個是SNN(standbyNN), 每個NN都會有一個ZKFC,ZKFC的作用是監控NN健康狀態和與Zookeeper保持連線,這個連結就是申請臨時節點的連結。
3、當ActiveNN出現異常,Active狀態的ZKFC得知異常後斷開與Zookeeper的連結,此時ZK上的臨時節點就會消失。StandbyZKFC收到zk的斷開資訊,通知standbyNN, standbyNN遠端登入到原始activeNN節點,強行killNN程式。
4、通知standbyZKFC搶佔Zookeeper上的臨時節點,搶佔成功,將狀態從standby變為active
5、當原始activeNN重新恢復後,優先到Zokeeper上申請臨時節點,此時已被申請,他只能申請臨時節點的watch充當standbyNN角色。
相關文章
- Hadoop 及Spark 分散式HA執行環境搭建HadoopSpark分散式
- MyBatis執行流程MyBatis
- Mysql 執行流程MySql
- MapReduce執行流程
- SpringMVC執行流程SpringMVC
- for 迴圈執行流程
- Dapr Outbox 執行流程
- Ansible playbook 執行流程
- 「MySQL」 MySQL執行流程MySql
- javaWeb的執行流程JavaWeb
- MapReduce程式執行流程
- 深入理解執行緒池的執行流程執行緒
- Spark學習(一)——執行模式與執行流程Spark模式
- eBPF 執行原理和流程eBPF
- 執行流程原始碼分析原始碼
- SQL 解析與執行流程SQL
- PHP執行流程回顧PHP
- 框架執行流程總結框架
- MapReduce的執行流程概述
- thinkphp3.2 執行流程PHP
- SpringMvc - SpringMvc的執行流程SpringMVC
- 助力新能源,NewStart HA保障電網系統的高可用執行
- Seata的AT模式的執行流程模式
- Ansible ad-hoc 執行流程
- 深入Mybatis原始碼——執行流程MyBatis原始碼
- Mybatis執行流程原始碼分析MyBatis原始碼
- WEB程式執行的基本流程Web
- 【java學習】控制執行流程Java
- 執行緒池的工作流程執行緒
- Servlet基本概念及執行流程Servlet
- Java類初始化執行流程Java
- Mybatis原始碼系列 執行流程(一)MyBatis原始碼
- 從ReentrantLock看AQS (AbstractQueuedSynchronizer) 執行流程ReentrantLockAQS
- SpringMVC執行流程及原始碼分析SpringMVC原始碼
- MySQL基礎架構執行流程MySql架構
- mysql的sql語句執行流程MySql
- Facades 原理 (程式碼執行流程分析)
- Shiro(認證的執行流程Authentication)