zookeeper:zookeeper學習筆記

PS:本篇博客僅僅是我的的筆記,且是我的的理解,文字較爲口語化,若有錯誤,請大牛指出。若是想了解更深刻的,能夠根據我這篇博客的狀況自行查找網上資料(官網或者其餘大牛的博客詳解)node

1、zookeeper的工做流程.net

zookeeper是整個集羣的註冊中心,全部的client端想要發起請求,都要通過zookeeper,並經過投票(超過半數)才能獲得響應。server

2、zookeeper投票機制blog

zookeeper集羣中能夠有多個zookeeper server,其中會有一個leader server,其餘的都是follower server,固然,leader server也是經過投票選出來的,當票數過半是就能夠經過,若是隻有一個zookeeper的話,那這個zookeeper就是leader server。client發起的請求(增刪改操做,查詢操做是由server直接返回,不須要投票)也是經過這種投票機制獲得響應的。get

3、zookeeper的個數博客

通常zookeeper的個數要是奇數個,偶數個也是能夠的,但不必。工作流

一、容錯:例如,搭建3個和搭建4個zookeeper集羣,此時若是要經過client發起的請求,那麼3個zookeeper的集羣要2票就能經過,那麼這個集羣就容許一臺zookeeper掛掉;而4臺zookeeper的集羣就要3票才能經過,那麼集羣也只容許掛一臺。既然都容許掛掉一臺,那麼就顯得4臺zookeeper就顯得浪費了。it

二、splite-brain(腦裂):當集羣分裂了成了兩個集羣,那麼就容易出現這個問題,一樣以3臺和4臺爲例。當集羣爲3臺時,可能會被分紅1臺和2臺,那麼此時2臺的集羣投票選出leader server時,就能夠以2(超過半數)方式選出一個leader server;當集羣爲4臺時,若是被分紅了1臺和3臺是能夠的,但若是被分紅了2臺和2臺,那麼不管怎麼投票都沒法選出一個leader server,就會出現全部的client的請求都被接受了,但沒法給出響應。集羣

4、zookeeper的經常使用client操做cli

進入zookeeper:./zkCli.sh -server 127.0.0.1:2181

建立znode:create /zk data

刪除znode:delete /zk

查看znode:ls /

查看某個znode信息:get /zk

修改znode的值:set /zk aaa

 

待續。。。

 

 

第一篇:本篇博客爲zookeeper相關的第一篇博客

下一篇:http://www.javashuo.com/article/p-puuzmwvc-gh.html

相關文章
相關標籤/搜索