1. 程式人生 > >Linux上安裝Zookeeper以及一些注意事項

Linux上安裝Zookeeper以及一些注意事項

最近打算出一個系列,介紹Dubbo的使用。

分散式應用現在已經越來越廣泛,Spring Could也是一個不錯的一站式解決方案,不過據我瞭解國內目前貌似使用阿里Dubbo的公司比較多,一方面這個框架也確實很OK,另一方面可能也是因為Dubbo的中文文件比較全的緣故,據Dubbo官網上的訊息,阿里已經重新開始了對Dubbo的維護,這也算是使用Dubbo的網際網路公司的福音了吧。OK,廢話不多說,今天我們就先來看看如何在Linux上安裝zookeeper。

瞭解過Dubbo的小夥伴都知道,Dubbo官方建議我們使用的註冊中心就是zookeeper,zookeeper本來是Hadoop的一個子專案,現在發展成了Apache的頂級專案,看名字就知道Zookeeper就是動物園管理員,管理Hadoop(大象)、Hive(蜂房/蜜蜂)等動物。Apache上的Zookeeper分Linux版和Windows版,但是考慮到實際生產環境都是Linux,所以我們這裡主要介紹Linux上Zookeeper的安裝,Windows上Zookeeper的安裝則比較簡單,下載解壓即可,和Tomcat差不多。

OK,廢話不多說,接下來我們就來看看zookeeper的安裝步驟。

環境:

1.VMware® Workstation 12 Pro
2.CentOS7
3.zookeeper-3.4.10(本文寫作時的最新穩定版)

安裝步驟

1.下載zookeeper

zookeeper下載地址如下,小夥伴們可以在第一個地址中選擇適合自己的zookeeper版本,也可以直接點選第二個地址下載我們本文使用的zookeeper。

2.將下載好的zookeeper上傳到Linux伺服器上

上傳方式多種多樣,我這裡採用了xftp,小夥伴們也可以直接使用putty上傳,上傳結果如下:
這裡寫圖片描述

3.將檔案解壓到/opt目錄下

這裡寫圖片描述

4.進入到剛剛解壓好的目錄中,建立兩個資料夾,分別是data和logs,如下:

這裡寫圖片描述

5.將解壓後zookeeper-3.4.10資料夾下的zoo_sample.cfg檔案拷貝一份命名為zoo.cfg,如下:

這裡寫圖片描述

6.修改zoo.cfg檔案,新增data和log目錄,如下:

這裡寫圖片描述

1.2888 埠號是zookeeper服務之間通訊的埠
2.3888 是zookeeper 與其他應用程式通訊的埠
3.initLimit:這個配置項是用來配置 Zookeeper 接受客戶端(這裡所說的客戶端不是使用者連線 Zookeeper伺服器的客戶端,而是 Zookeeper 伺服器叢集中連線到 Leader 的 Follower 伺服器)初始化連線時最長能忍受多少個心跳時間間隔數。當已經超過 10 個心跳的時間(也就是 tickTime)長度後 Zookeeper 伺服器還沒有收到客戶端的返回資訊,那麼表明這個客戶端連線失敗。總的時間長度就是 5*2000=10 秒。
4.syncLimit:這個配置項標識 Leader 與 Follower 之間傳送訊息,請求和應答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 2*2000=4 秒
5.server.A=B:C:D:其中 A 是一個數字,表示這個是第幾號伺服器;B 是這個伺服器的IP地址或/etc/hosts檔案中映射了IP的主機名;C 表示的是這個伺服器與叢集中的 Leader 伺服器交換資訊的埠;D 表示的是萬一叢集中的 Leader 伺服器掛了,需要一個埠來重新進行選舉,選出一個新的 Leader,而這個埠就是用來執行選舉時伺服器相互通訊的埠。如果是偽叢集的配置方式,由於 B 都是一樣,所以不同的 Zookeeper 例項通訊埠號不能一樣,所以要給它們分配不同的埠號。

7.在 dataDir=/opt/zookeeper-3.4.10/data下建立 myid檔案 編輯myid檔案,並在對應的IP的機器上輸入對應的編號。如在zookeeper上,myid檔案內容就是1。如果只在單點上進行安裝配置,那麼只有一個server.1。如下:

這裡寫圖片描述

8.在.bash_profile檔案中增加zookeeper配置:

這裡寫圖片描述

9.使配置生效

這裡寫圖片描述

10.關閉防火牆

這裡寫圖片描述

11.啟動並測試

這裡寫圖片描述

啟動之後如果能看到Mode:standalone就表示啟動成功了。

12.關閉zookeeper

這裡寫圖片描述

13.配置開機啟動zookeeper

這裡寫圖片描述

注意注意 在centos7中,/etc/rc.local的許可權被降低了,所以需要執行如下命令賦予其可執行許可權
chmod +x /etc/rc.d/rc.local

OK,以上就是我們在CentOS7中安裝zookeeper的全過程,做好這一切之後我們就可以在Dubbo中使用這個註冊中心了,這個我們放在下一篇部落格中介紹。

更多JavaEE資料請關注公眾號: