Zookeeper 學習筆記之 節點個數
zookeeper的節點配置的個數推薦是奇數個這是為什麽呢?
選舉機制
兩種情況無法選出leader:
-
整個集群只有2臺服務器(註意不是只剩2臺,而是集群的總節點數為2)
-
整個集群超過半數機器掛掉。
所謂的偶數問題其實是另一個集群優化配置問題,即:集群的容災數量=集群總節點數/2-1
集群中只要有過半的機器是正常工作的,那麽整個集群對外就是可用的。也就是說如果有2個zookeeper,那麽只要有1個死了zookeeper就不能用了,因為1沒有過半,所以2個zookeeper的死亡容忍度為0;同理,要是有3個zookeeper,一個死了,還剩下2個正常的,過半了,所以3個zookeeper的容忍度為1;
同理你多列舉幾個:
2 容忍度0
3 容忍度1
4 容忍度1
5 容忍度2
6 容忍度2
會發現一個規律,2n和2n-1的容忍度是一樣的,都是n-1,奇數為5,而偶數為6,也就是6個zookeeper服務的情況下最多能宕掉2個服務,所以從節約資源的角度看,沒必要部署6(偶數)個zookeeper服務。為了更加高效,沒必要增加一個不必要的zookeeper。
Zookeeper 學習筆記之 節點個數
相關推薦
Zookeeper 學習筆記之 節點個數
容災 2個 工作 不必要 ade 為什麽 per 正常 lead zookeeper的節點配置的個數推薦是奇數個這是為什麽呢? 選舉機制 兩種情況無法選出leader: 整個集群只有2臺服務器(註意不是只剩2臺,而是集群的總節點數為2) 整個集群超過半數機器掛掉。
Zookeeper 學習筆記之 Leader Election
通知 客戶 就會 lec 搶占式 類型 二次 lead per ZooKeeper四種節點類型: Persist Persist_Sequential Ephemeral Ephemeral_Sequential 在節點上可註冊的Watch,客戶端先得到通知再得到數據,
zookeeper學習筆記--刪除節點
1:刪除節點API 同步方式 public void delete(final String path, int version) 非同步方式 public void delete(final String pa
zookeeper學習筆記--建立節點
1:客戶端可以通過ZK的API來建立資料節點,有如下兩個介面: 同步方式 String Create(final String path, byte data[], List<ACL> acl, Create
Zookeeper學習筆記九之 同步實現主節點選舉
同步實現主節點選舉 為了確保同一時間只有一個主節點程序處於活躍狀態,我們使用ZooKeeper來實現簡單的群首選舉演算法。這個演算法中,所有的節點都嘗試建立/master節點,但是隻有一個成功,這個成功的程序成為主節點。接下來是程式碼實現 package
Zookeeper學習筆記十之 非同步實現主節點選舉
非同步實現主節點選舉 Zookeeper中,所有同步呼叫方法都有對應的非同步呼叫方法,通過非同步呼叫,我們可以在單執行緒中同時進行多個呼叫,接下來實現一個非同步實現主節點選舉的例子 Zookeeper.create方法的非同步呼叫版本
Zookeeper學習筆記七之主從節點任務分配
主從節點任務分配 通過前面的學習持久節點和臨時節點,我們知道可以通過建立持久節點和臨時節點配合進行主從任務的分配,下面實現一個小小的例子 前提,已經安裝好了Zookeeper服務端,執行zkServer指令碼啟動服務端,開啟zkCli客戶端連線到服務端
Kafka 學習筆記之 ZooKeeper作用
9.png lec 管理 信息 發現 ges ima cti http Kafka使用ZooKeeper 配置管理 Leader Election 服務發現 首先進入ZooKeeper客戶端: ls / 可以看到有以下節點: 查看Topic 配置信息:體現了ZooK
Zookeeper學習筆記一之簡介
有序 多個 不同 簡介 線程 font 互斥 等待 檢測 一 Zookeeper使命 關於Zookeeper的討論都圍繞著一條主線,它可以在分布式系統中協作多個任務。一個協作任務是指包含多個進程的任務。這個任務可以是為了協作或者是為了管理競爭。協作意味著多個進
大資料技術學習筆記之Hadoop框架基礎4-MapReduceshuffer過程詳解及zookeeper框架學習
一、MapReduce Shuffle -》MapReduce執行五個階段 input  
Zookeeper學習筆記五之監控與通知
監控與通知 Zookeeper通常以遠端服務的方式被訪問,如果每次訪問znode時,客戶端都需要獲得節點中的內容。這樣的代價就非常大。因為這樣會導致更高的延遲,而且Zookeeper需要做更多的操作,例如下圖中,第二次呼叫getChildren /tasks返回了相同的值,
Zookeeper學習筆記六之版本號
版本號 每一個znode都有一個版本號,它隨著每次資料變化而自增。兩個API操作可以有條件地執行:setData和delete。這兩個呼叫以版本號作為轉入引數,只有當轉入引數的版本號與伺服器上的版本號一致時呼叫才會成功。當多個Zookeeper客戶端對同一個znode進行操
Zookeeper學習筆記十二之 網路配置與叢集配置
網路配置 這些配置引數可以限制伺服器和客戶端之間的通訊 zookeeper.globalOutstandingLimit: ZooKeeper中待處理請求的最大值,ZooKeeper客戶端提交請求比ZooKeeper伺服器處理請求要快很多,服務端將會對接收到的請求佇列化
Java學習筆記之二叉樹的節點數、深度
在上篇博文《Java學習筆記之建立二叉樹》後,我們現在來求增加二叉樹的節點數、二叉樹的深度的函式,以下程式碼中黃色背景是增加實現的程式碼,由於註釋較多,我用綠色字型將自己解讀的註解區分。 老樣子還是先註明這句話:【本文的程式碼請見原創http://blog.csdn.net
SAS學習筆記之函數應用
不能 oracle 理解 資料 oracl 函數應用 特殊 put acl 今天在做數據需求的時候遇到一些問題,因為不能夠在數據庫裏面做,僅僅好在SAS裏面實現。這就遇到了一些麻煩,須要使用一些函數實現部分功能,如查找字段中某個特殊字符出現的次數,查找某個字符的位置等,
c#學習筆記之Application.DoEvents應用
box nbsp net replace 運算 技術 oop blank 假死 Visual Studio裏的摘要:處理當前在消息隊列中的所有 Windows 消息。 交出CPU控制權,讓系統可以處理隊列中的所有Windows消息 比如在大運算量循環內,加Applicati
[C#學習筆記之異步編程模式2]BeginInvoke和EndInvoke方法 (轉載)
cti otf 函數返回 編程模式 catch 數值 gin 單線程 blog 為什麽要進行異步回調?眾所周知,普通方法運行,是單線程的,如果中途有大型操作(如:讀取大文件,大批量操作數據庫,網絡傳輸等),都會導致方法阻塞,表現在界面上就是,程序卡或者死掉,界面元素不動了,
.NET學習筆記之ADO.NET
技術分享 reader sql語句 bsp 技術 area ada 執行sql 學習 據提供程序: Connection,用來連接數據庫 Command,用來執行SQL語句 DataReader只讀,只進的結果集,一條一條讀取數據 DataAdapter,一個封裝了上面3個
,NET學習筆記之ADO.NET
nbsp png alt 學習 log logs ima http blog ,NET學習筆記之ADO.NET
Metasploit學習筆記之——情報搜集
user 技術 得到 版本號 域名 listing 避免 ger max 1.情報搜集 1.1外圍信息搜索 1.1.1通過DNS和IP地址挖掘目標網絡信息 (1)whois域名註冊信息查詢(BT5、kali專有):[email protected]