Master选举原理
為什么需要Zookeeper?
為了防止集群的主NameNode掛掉,再另創建一個輔NameNode,兩個保持數據同步,一旦主NameNode掛掉,集群就會把輔NameNode節點作為整個集群的主NameNode,而在這之間就需要用到Zookeeper來協調,幫助輔NameNode成為整個集群的主NameNode。
在這里Zookeeper是實現的master選舉機制完成這一過程,選舉機制分兩種:
第一種:誰先創建master臨時節點,誰就是master,當一個master掛掉了,master節點就消失了,別的節點就會監聽到,就會繼續去創建master臨時節點,以此類推,利用Zookeeper的兩個特點(一個節點只能成功創建一次、利用監聽的機制)
第二種:在master下面創建臨時有序節點,那個節點最小,那個就是master,節點掛掉,下面那個臨時節點就會監聽到上面的臨時節點掛掉了,從而取代成為master,以此類推,(利用Zookeeper創建節點臨時有序的特性)
第二種master選舉機制利用Curator的API寫:LeaderSelectionApp.java
打包上傳到各個節點運行:
java -cp zookeeper-course-1.0-SNAPSHOT-jar-with-dependencies.jar com.twq.zk.usage.LeaderSelectionApp
master、slave1、slave2輪流成為master
兩種選舉機制示意圖:
第一種:
第二種:
來源:https://www.icode9.com/content-4-125193.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Master选举原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平滑重启更新(GR机制)
- 下一篇: 兀突骨三国志战略版有用吗(兀突骨)