為什麽zookeeper的節點配置的個數必須是奇數個
選舉機制(FastLeaderElection算法):sid最大且被超過集群中超過半數的機器擁護就會成為leader.
所以只有兩種情況無法選出leader:
整個集群只有2臺服務器(註意不是只剩2臺,而是集群的總節點數為2)
整個集群超過半數機器掛掉。
所謂的偶數問題其實是另一個集群優化配置問題,即:集群的容災數量=集群總節點數/2-1
假如集群有5節點,那麽最多允許2個節點掛掉,如果有3節點掛了,那麽整個集群的選舉結果不會滿足條件:集群中超過半數的機器擁護。
假如集群有6個節點,那麽最多也只能掛掉2臺,因為掛了3臺時,選舉結果也不會滿足條件:集群中超過半數的機器擁護。
結果可以看出,多那一臺用處並不大。所以集群總數推薦為奇數。
為什麽zookeeper的節點配置的個數必須是奇數個
相關推薦
為什麽zookeeper的節點配置的個數必須是奇數個
兩種 無法 最大 超過半數 情況 zookeeper 什麽 條件 節點 選舉機制(FastLeaderElection算法):sid最大且被超過集群中超過半數的機器擁護就會成為leader.所以只有兩種情況無法選出leader:整個集群只有2臺服務器(註意不是只剩2臺,而是
為什麽java的main方法必須是靜態的
博客 核心 log sync 簡單 chm 之前 excpetion 訪問 今天看類型信息時發現一個問題,不能再main方法中打印this關鍵字的信息,這時想起了之前的知識,不能再靜態方法中調用this。理由很簡單,this表示“這個對象”,也就是聲明一個類的對象,然而靜態
為什麽重寫equals()方法就必須重寫hashCode()方法
shc 依然 為什麽 出現 pos 性能 導致 clas 什麽 hashCode()和equals()保持一致,如果equals方法返回true,那麽兩個對象的hasCode()返回值必須一樣。如果equals方法返回false,hashcode可以不一樣,但是這樣不利於哈
為什麽說 Java 程序員必須掌握 Spring Boot ?(轉)
效率 要求 streaming 解釋 gin 接口 有著 大量 關於我 Spring Boot 2.0 的推出又激起了一陣學習 Spring Boot 熱,那麽, Spring Boot 誕生的背景是什麽?Spring 企業又是基於什麽樣的考慮創建 Spring Boo
【轉】為什麽說 Java 程序員必須掌握 Spring Boot ?
netbeans 好想 模式 大學 evel 完成 客戶 star 打破 Spring Boot 2.0 的推出又激起了一陣學習 Spring Boot 熱,那麽, Spring Boot 誕生的背景是什麽?Spring 企業又是基於什麽樣的考慮創建 Spring Boot
為什麽說比特幣必須死?
時光 這樣的 但是 可能 oss 實體 規模 也會 上市公司 比特幣走到現在已經十年了。十年,歷經了少不更事、茁壯成長、正當壯年,現在已經垂垂老矣。名義、低位都有了,風光無二的時光已經過去,是時候退出歷史舞臺了。 可能很多人並不是很贊同這個觀點。比特幣可是號稱萬幣之王啊,價
TCP server 為什麽一個端口可以建立多個連接?
tab 建立 傳輸 grep not ide 技術分享 什麽 circle https://segmentfault.com/q/1010000003101541 如果是tcp client用同一個本地端口去連不同的兩個服務器ip,連第二個時就會提示端口已被占用。但服務
OSPF為什麽同一個區域內會有多個DR/BDR
路由器 網絡 ext ima int pro ces 多個 vpd OSPF 的DR/BDR是在同一個MA網絡(如以太網)中進行選舉,並非在一個區域內全部路由器進行選舉 按上面的拓撲圖為例子: 在R8上面查看OSPF有兩個DR/BDR R8#show ip osR8#s
Zookeeper要安裝在奇數個節點,但是為什麽?
n-1 clas lar 領導 add ive 發送 AR content Zookeeper要安裝在奇數個節點,但是為什麽? 我們都知道,Zookeeper要安裝在奇數個節點,但是為什麽?Zookeeper的大部分操作都是通過選舉產生的。比如,標記一個寫是否成功是要
為什麽二叉樹中葉子節點個數等於度為2的節點個數+1
子節點 個數 等於 二叉樹 證明 n-1 das ash 葉子節點 證明: 設:節點總個數為n,葉子節點個數為:n0,度為1的節點個數為:n1,度為2的節點個數為n2,邊的個數為b n=n0+n1+n2 b=n-1; b=n1+2*n2;//來由不知,代入二叉樹可得此
SpringBoot學習遇到的問題(1) - 配置文件有日誌的debug模式等配置項,為什麽不起作用
boot lease bug fig spa stack 不起作用 網站 cat 這個問題困擾我近乎兩天,通過查找N多資料後終於解決,寫下來共享給大家。 logging.level.root=DEBUG ... 一系列的日誌配置項,都不起作用的原因是springboot啟動
為什麽要開展等級保護測評?你必須知道!
等保測評 隨著我國信息技術的快速發展,為維護國家安全和社會穩定,維護信息網絡安全,國務院於1994年頒布了《中華人民共和國計算機信息系統安全保護條例》(國務院147號令)。條例中規定:我國的“計算機信息系統實行安全等級保護。 2003年**辦公廳、國務院辦公廳轉發的《國家信息化領導
JAVA為什麽要配置環境變量,怎樣配置
虛擬 大小寫 原因 控制臺 生成 .exe 也有 表示 system32 軟件151 陶濤 自己總結些再加抄點:安裝JDK後要配置環境變量,主要有三個:1 JAVA_HOME ->為JDK的安裝目錄,如:F:\JAVA\jdk1.6.0_042 CLASSPA
為什麽Spring Boot推薦使用logback-spring.xml來替代logback.xml來配置logback日誌的問題分析
ring ack 解決 為什麽 5.7 net feature release href 最根本的原因: 即,logback.xml加載早於application.properties,所以如果你在logback.xml使用了變量時,而恰好這個變量是寫在applica
Question20180106 Java環境變量的配置及為什麽要配置環境變量
system32 lin 安裝目錄 方式 for 不同 包括 new batch Question 1 Java環境變量的配置及為什麽要配置環境變量 Q1.1為什麽要配置環境變量 在學習JAVA的過程中,涉及到多個環境變量(environment variable
05-為什麽drbd備節點不可用
fff ext 不可用 mark 為什麽 watermark 可用 water 技術分享 ff05-為什麽drbd備節點不可用
使用@Controller註解為什麽要配置<mvc:annotation-driven />
讀寫 factory 註釋驅動 ida read patch calendar ber ping <mvc:annotation-driven/>相當於註冊了DefaultAnnotationHandlerMapping和AnnotationMethodHand
為什麽Python類成員的調用和聲明必須有"this"?
span AS 運算 一個 由於 live var his http Python的這種設計是作者從Modula-3中借鑒來的,在後面使用的情況看來,這個設計也是比較成功的。我們對比Python和C++討論一下這個問題: Modula-3是上世紀80年代末數字設備公司(D
java 成員變量為什麽可以不初始化而局部變量必須初始化
操作數棧 hot 局部變量 區域 內存空間 為什麽 出口 hotspot 一個棧 對於java虛擬機內存這塊始終有點迷,今天又把深入理解jvm虛擬機拿出來翻了翻,理了理java內存區域。 ava虛擬機棧描述的是java方法執行的內存模型:每個方法在執行的同時都會創建
為什麽推薦Zookeeper作註冊中心
通配 2.0.8 hub callback 而且 pub image IT 集群配置 Zookeeper的數據模型很簡單,有一系列被稱為ZNode的數據節點組成,與傳統的磁盤文件系統不同的是,zk將全量數據存儲在內存中,可謂是高性能,而且支持集群,可謂高可用,另外支持事件監