由於zookeeper使用java語言編寫,因此我們運行zookeeper需要保證你的服務器上已經安裝了jdk。
安裝zk
本文介紹的前提是已經默認安裝好了jdk,Linux安裝JDK教程https://www.cnblogs.com/yxth/p/6495152.html
1.打開zookeeper官網https://zookeeper.apache.org/,點擊紅框中的【Download】
2.彈出頁中繼續選擇【Download】
3.彈出頁中點擊紅框內鏈接
4.選擇要下載的版本
5.選擇要下載的文件,二進制文件或源碼文件。
6.點擊后即開始下載,等待下載完成,我們將它上傳至linux服務器
7.輸入命令解壓文件,解壓完成后會多出一個同名的文件夾
tar zxvf apache*
8.進入文件夾,可以看到里面的目錄結構。
主要的文件夾
- bin:zk可執行腳本目錄
- conf:zk配置文件目錄
- lib:zk依賴的包
9.進入【conf】目錄,修改里面的【zoo_sample.cfg】文件名為【zoo.cfg】
zk的安裝又可以分為單機模式和集群模式,下面分別介紹:
單機模式
顧名思義,單機模式就是只安裝一個zk進程,主要內容都是在之前改名的zoo.cfg中進行配置。我們先打開zoo.cfg文件,查看里面有哪些配置信息
我們逐一介紹里面的參數:
- tickTime:以毫秒為單位,每一次的心跳間隔時間。默認2000ms
- initLimit:集群配置,從服務連接到主服務時需要進行初始化同步,這里配置允許最大的同步時間,數值為tickTime的倍數。
- syncLimit:集群配置,從服務與主服務的同步限制時間,超過指定數值沒有同步,則會刪除從服務。數值同樣為tickTime的倍數。
- dataDir:快照存放目錄,默認存放/tmp/zookeeper。如果沒有配置dataLogDir,則日志文件也會存放在這里
- clientPort:監聽的端口,默認是2181
如果不需要修改,直接保存即可。
然后進入bin目錄下,啟動【zkServer】文件(我這里使用了【start-foreground】來啟動,是讓zk運行在前台,可以直接看到它的打印日志)
集群模式
集群模式和單機模式相差不大,區別在於【zoo.cfg】文件中需要配置主從服務的地址
server.1=192.168.229.160:2888:3888 server.2=192.168.229.161:2888:3888 server.3=192.168.229.162:2888:3888
注意:配置至少需要3個進程,或者奇數個進程,這是由於zk的選舉機制導致的問題。
集群里面所有進程的【zoo.cfg】可以配置的一模一樣,然后進行分別啟動。