Zookeeper集羣搭建

(1)安裝JDK  【此步驟省略】。服務器

(2)Zookeeper壓縮包上傳到服務器測試

(3)將Zookeeper解壓 ,建立data目錄 ,將 conf下zoo_sample.cfg 文件更名爲 zoo.cfgspa

(4)創建/usr/local/zookeeper-cluster目錄,將解壓後的Zookeeper複製到如下三個目錄.net

/usr/local/zookeeper-cluster/zookeeper-13d

/usr/local/zookeeper-cluster/zookeeper-2server

/usr/local/zookeeper-cluster/zookeeper-3blog

[root@localhost ~]# mkdir /usr/local/zookeeper-clusterci

[root@localhost ~]# cp -r  zookeeper-3.4.6 /usr/local/zookeeper-cluster/zookeeper-1get

[root@localhost ~]# cp -r  zookeeper-3.4.6 /usr/local/zookeeper-cluster/zookeeper-2it

[root@localhost ~]# cp -r  zookeeper-3.4.6 /usr/local/zookeeper-cluster/zookeeper-3

 

  1. 配置每個Zookeeper 的dataDir(zoo.cfg) clientPort 分別爲2181  2182  2183

修改/usr/local/zookeeper-cluster/zookeeper-1/conf/zoo.cfg

clientPort=2181

dataDir=/usr/local/zookeeper-cluster/zookeeper-1/data

修改/usr/local/zookeeper-cluster/zookeeper-2/conf/zoo.cfg

clientPort=2182

dataDir=/usr/local/zookeeper-cluster/zookeeper-2/data

修改/usr/local/zookeeper-cluster/zookeeper-3/conf/zoo.cfg

clientPort=2183

dataDir=/usr/local/zookeeper-cluster/zookeeper-3/data

2.2.3配置集羣

  1. 在每一個zookeeper的 data 目錄下建立一個 myid 文件,內容分別是一、二、3 。這個文件就是記錄每一個服務器的ID

-------知識點小貼士------

若是你要建立的文本文件內容比較簡單,咱們能夠經過echo 命令快速建立文件

格式爲:

echo 內容 >文件名

例如咱們爲第一個zookeeper指定ID爲1,則輸入命令

(2)在每個zookeeper 的 zoo.cfg配置客戶端訪問端口(clientPort)和集羣服務器IP列表。

集羣服務器IP列表以下

server.1=192.168.25.140:2881:3881

server.2=192.168.25.140:2882:3882

server.3=192.168.25.140:2883:3883

解釋:server.服務器ID=服務器IP地址:服務器之間通訊端口:服務器之間投票選舉端口

-----知識點小貼士-----

咱們可使用EditPlus遠程修改服務器的文本文件的內容,更加便捷

(1)在菜單選擇FTP Settings

(2)點擊ADD按鈕

(3)輸入服務器信息

  1. 點擊高級選項按鈕

(5)選擇SFTP  端口22

(6)OK  。完成配置

鏈接:

哈哈,無敵啦~~~~   你可能要問,老師,你爲啥不早告訴我有這一招  !

 

2.2.4啓動集羣

啓動集羣就是分別啓動每一個實例。

啓動後咱們查詢一下每一個實例的運行狀態

先查詢第一個服務

Mode爲follower表示是跟隨者(從)

再查詢第二個服務Mod 爲leader表示是領導者(主)

查詢第三個爲跟隨者(從)

2.2.5模擬集羣異常

(1)首先咱們先測試若是是從服務器掛掉,會怎麼樣

把3號服務器停掉,觀察1號和2號,發現狀態並無變化

由此得出結論,3個節點的集羣,從服務器掛掉,集羣正常

(2)咱們再把1號服務器(從服務器)也停掉,查看2號(主服務器)的狀態,發現已經中止運行了。

由此得出結論,3個節點的集羣,2個從服務器都掛掉,主服務器也沒法運行。由於可運行的機器沒有超過集羣總數量的半數。

  1. 咱們再次把1號服務器啓動起來,發現2號服務器又開始正常工做了。並且依然是領導者。

  1. 咱們把3號服務器也啓動起來,把2號服務器停掉(汗~~幹嗎?領導掛了?)停掉後觀察1號和3號的狀態。

發現新的leader產生了~ 

由此咱們得出結論,當集羣中的主服務器掛了,集羣中的其餘服務器會自動進行選舉狀態,而後產生新得leader

(5)咱們再次測試,當咱們把2號服務器從新啓動起來(汗~~這是詐屍啊!)啓動後,會發生什麼?2號服務器會再次成爲新的領導嗎?咱們看結果

咱們會發現,2號服務器啓動後依然是跟隨者(從服務器),3號服務器依然是領導者(主服務器),沒有撼動3號服務器的領導地位。哎~退休了就是退休了,說了不算了,哈哈。

由此咱們得出結論,當領導者產生後,再次有新服務器加入集羣,不會影響到現任領導者。

相關文章
相關標籤/搜索