linux下 zookeeper-3.4.10安裝,命令行基礎命令,過半機制,奇數原則

zookeeper安裝

1.將ZK文件上傳到服務器上
2.執行tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/ 將文件解壓到opt下的module目錄下(根據自己上傳的版本更改命令)
在這裏插入圖片描述
3.移動到model目錄下,進入ZK文件夾中

cd /opt/module/zookeeper-3.4.10/

在這裏插入圖片描述
4.創建zkData文件夾,然後進入conf文件夾

mkdir zkData
cd conf/

在這裏插入圖片描述
5.將zoo_sample.cfg文件重命名爲zoo.cfg
在這裏插入圖片描述
6.打開zoo.cfg文件,將dataDir的值改爲剛剛創建的zkData的路徑

在這裏插入圖片描述
在這裏插入圖片描述
然後在最後增加代碼(主機名改爲自己linux系統對應的主機名,需要注意與hosts文件中的主機名一致

#######################cluster##########################
server.1=bigdata2:2888:3888
server.2=bigdata1:2888:3888
server.3=bigdata3:2888:3888

7.進入到zkData文件夾中,創建並打開myid文件
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在裏面輸入數值,數值與之前在zoo.cfg文件中設定的一致
server.1=bigdata2:2888:3888
在這裏插入圖片描述
8.回退到model目錄中
在這裏插入圖片描述9.將zookeeper複製到其他linux系統上
在這裏插入圖片描述

scp -r zookeeper-3.4.10/ bigdata1:`pwd`

pwd代表相對路徑,但是我使用之後並沒有往bigdata1中拷貝
於是使用下面的絕對路徑

scp -r zookeeper-3.4.10/ bigdata1:'/opt/module/'

在這裏插入圖片描述
結果:
在這裏插入圖片描述
10.將bigdata1和bigdata3的myid進行修改

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
11.配置環境變量

export ZK_HOME=/opt/module/zookeeper-3.4.10
export PATH=$PATH:$ZK_HOME/bin

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
12.檢驗安裝配置成功
輸入zkS然後按tab鍵,如果可以自動將其補全爲zkServer.就代表配置成功
在這裏插入圖片描述
在這裏插入圖片描述

基礎命令

啓動zookeeper(集羣,最少兩個)

zkServer.sh start

查看當前節點的zk狀態

zkServer.sh status

在這裏插入圖片描述

啓動zk客戶端

進入到ZK目錄下
cd /opt/module/zookeeper-3.4.10/
執行zkCli命令
bin/zkCli.sh

在這裏插入圖片描述
在這裏插入圖片描述

顯示所有操作命令:help

在這裏插入圖片描述
在這裏插入圖片描述

普通創建(永久節點):create

在這裏插入圖片描述
在這裏插入圖片描述

獲得節點的值:get path [watch]

在這裏插入圖片描述

在這裏插入圖片描述

設置節點的具體值:set

在這裏插入圖片描述
在這裏插入圖片描述

使用 ls 命令來查看當前znode中所包含的內容

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

刪除節點:delete和 遞歸刪除節點:rmr

在這裏插入圖片描述
在這裏插入圖片描述

ZK的選舉原理(過半機制,奇數原則)

過半機制:
當ZK集羣中的超過一般的節點都可以正常工作,就代表這個集羣已經啓動了。
當集羣啓動後,會進行全員投票,當某一節點獲得半數及以上的票時,那個節點就會變爲leader節點,其他的節點仍然是follower節點,如果沒有節點獲得半數及以上的票的時候,會進行循環,直到有節點獲得半數及以上的票。這個時候,ZK集羣也就真正的啓動起來了
奇數原則:
在學習ZK的時候,就學習到ZK集羣的節點數最好是一個以上的奇數。那麼爲什麼是奇數呢?
原因1:在進行選舉的時候,如果是偶數,那麼就有可能出現兩個leader,就會出現腦裂的錯誤。
原因2:leaderd的選舉算法採用了paxos協議
paxos核心思想:當多數server寫成功,則任務數據寫成功。如果有3個server則2個寫成功即可,當有4個或5個server,則3個寫成功即可。
如果有3個server,最多允許有一個server掛掉,如果有4個server,則同樣最多允許一個server掛掉,因此,可以看出,3臺服務器和4臺服務器的容災能力是一樣的,爲了節省服務器資源,我們通常採用奇數數量,作爲服務器部署數量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章