ZooKeeper启动过程2:FastLeaderElection
前一篇文章中說到,啟動ZooKeeper集群時,需要分別啟動集群中的各個節點,各節點以QuorumPeer的形式啟動,最后到達startLeaderElection和lookForLeader。
先說startLeaderElection
首先,初始化節點自身的currentVote【當前投票】為【myid、zxid、currentEpoch】
然后,初始化選舉算法createElectionAlgorithm,默認使用FastLeaderElection算法,在這里,啟動兩個線程WorkerSender、WorkerReceiver,分別用于向其他所有節點發送自己的投票信息、接收并處理其他節點發送給自己的投票信息。
再說lookForLeader
首先,初始化節點自身的邏輯時鐘【logicalclock】,同時初始化節點的投票信息:proposedLeader【myid中讀取】、proposedZxid【data目錄中讀取,默認為0】、proposedEpoch【data目錄中讀取,默認為0】
然后,向集群中所有節點發送投票信息【包括自身】,使用WorkerSender發送,所有節點使用WorkerReceiver接收投票信息,進行后續處理
轉自http://blog.csdn.net/xuefeng0707/article/details/40687625
轉載于:https://www.cnblogs.com/catWang/p/4120669.html
總結
以上是生活随笔為你收集整理的ZooKeeper启动过程2:FastLeaderElection的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 原神莱纳德是谁?
 - 下一篇: 不孕的原因到底是什么