1. 程式人生 > >centos 7環境下安裝部署zookeeper

centos 7環境下安裝部署zookeeper

近一直在看zookeeper的知識,有所收穫,打算寫些一些關於zookeeper的部落格,也當做是自己的複習和筆記。

上一篇 部落格中簡單地介紹了centos 7 下如何安裝jdk,這一篇將介紹如何在centos中安裝zookeeper並做叢集部署。

1、下載zookeeper安裝包,百度一下zookeeper就可以找到了,建議使用stable版本,我使用的是版本是:zookeeper-3.4.10.tar.gz。

2、通過xshell等工具複製到虛擬機器或伺服器下,我存放的路徑是:/opt/java/zookeeper-3.4.10.tar.gz。使用解壓命令:tar -zxvf zookeeper-3.4.10.tar.gz

3、解壓完後,會在/opt/java 下看到 /opt/java/zookeeper-3.4.10 這個資料夾,這個資料夾裡面有很多內容,如下圖:

在這裡面,有兩個資料夾需要注意,就是bin資料夾和conf資料夾。其中conf 存放的是zookeeper的配置檔案,而bin則是存放zookeeper的shell命令形式的伺服器和客戶端指令碼。

4、進入conf資料夾,有個 zoo_sample.cfg 檔案,這個是zookeeper配置的示例配置。zookeeper的預設配置的是zoo.cfg。使用 cp zoo_sample.cfg zoo.cfg複製這個zoo_sample.cfg,vim zoo.cfg,開啟後看到的內容如下:

 

5、克隆多個伺服器,用於部署叢集。vmware->虛擬機器->管理->克隆,一直下一步即可。建議由一個有2n臺server,1leader、2follower、1observer

6、使用命令:ip addr 檢視每臺伺服器的ip,在每一臺伺服器的zoo.cfg中,新增下面的程式碼: 

server.1=192.168.111.128:2888:3181
server.2=192.168.111.129:2888:3181
server.3=192.168.111.130:2888:3181
server.4=192.168.111.131:2888:3181:observer

其中,192.168.111.128、192.168.111.129、192.168.111.130、192.168.111.131,是部署的每一臺伺服器的ip,2888是用於leader 和follower、observer 之間進行通訊的埠,3181 是用於leader選舉的埠。這兩個埠都是自定義的,只需要埠不被佔用即可。zookeeper的client和server的埠是2181。

server.4=192.168.111.131:2888:3181:observer  這一行是用於標識192.168.111.131 這臺伺服器用於observer,這一行不一定需要有。

7、zoo.cfg中同時定義了資料檔案(快照)的存放路徑:dataDir=/tmp/zookeeper。這個是可以自定義,也可以直接使用。進入/tmp/zookeeper 已經建立。

在/tmp/zookeeper中新建一個檔案:myid,用於標識所在伺服器在zookeeper叢集中的唯一標識,這個檔案只有一行資料,如下圖所示:

 

這裡的1,就是對面上面的server.1。當然,這裡可以隨意自定義id,建議是順序的id。

8、進入zookeeper下的bin目錄下,使用命令:sh zkServer.sh start 啟動zookeeper,啟動成功後如下圖所示: 

 

9、使用sh zkServer.sh status 檢視啟動的情況。剛開始的時候,可能不會馬上看到有伺服器被選舉為leader,因為leader選舉需要一點時間,leader 和follower、observer之間的資料同步也需要一點時間。正常後的啟動情況如下圖,可以看到有1leader 、2follower、1observer。

 10、安裝的過程中,使用ip addr 可能會看不到ip地址,這個是因為centos 是預設不開啟網路的,需要關閉網路防火牆後使用命令sudo service network restart重啟網路 ,即可以檢視到ip了