zookeeper的安裝與配置

1、到官網https://zookeeper.apache.org/releases.html#download下載zookeeper安裝包,我使用的是zookeeper-3.4.13.tar.gz。

2、拷貝到linux服務器,並解壓。命令:tar –zxvf zookeeper-3.4.13.tar.gz

3、將zookeeper/conf目錄下的zoo_sample.cfg重命名爲zoo.cfg。

備份指令:cp zoo_sample.cfg zoo.cfg

重命名:mv zoo_sample.cfg zoo.cfg

4、修改dataDir的存放目錄。

5、配置服務器節點,在zoo.cfg的後面添加如下代碼(如果只有四臺服務器):

       server.<服務器編號,從1開始>=<服務器主機名>:<當前服務器與leader服務器交換數據的端口>:<集羣中選舉leader使用的端口>。如下:

         server.1=yc01:2888:3888

        server.2=yc02:2888:3888

        server.3=yc03:2888:3888

        如果是作爲觀察者,不參與投票,則需要在後面加上observer標識。如:

        server.4=yc04:2888:3888:observer

        另外,需要在zoo.cfg中添加聲明。在服務器節點配置前面加上:

        peerType=observer。說明這個節點作爲觀察者。

       initLimit : 此配置表示允許follower連接並同步到leader的初始化時間,它以tickTime的倍數來表示。當超過設置倍數的tickTime時間,則連接失敗。

  syncLimit : Leader服務器與follower服務器之間信息同步允許的最大時間間隔,如果超過次間隔,默認follower服務器與leader服務器之間斷開鏈接。

tickTime : Leader與follower之間交互的基本時間單元(ms)

    dataDir : 保存zookeeper數據路徑

dataLogDir : 保存zookeeper日誌路徑,當此配置不存在時默認路徑與dataDir一致

clientPort : 客戶端訪問zookeeper時經過服務器端時的端口號

maxClientCnxns : 限制連接到zookeeper服務器客戶端的數量

server.id=host:port:port : 表示了不同的zookeeper服務器的自身標識,作爲集羣的一部分,每一臺服務器應該知道其他服務器的信息。用戶可以從“server.id=host:port:port” 中讀取到相關信息。在服務器的data(dataDir參數所指定的目錄)下創建一個文件名爲myid的文件,這個文件的內容只有一行,指定的是自身的id值。比如,服務器“1”應該在myid文件中寫入“1”。這個id必須在集羣環境中服務器標識中是唯一的,且大小在1~255之間。這一樣配置中,zoo1代表第一臺服務器的IP地址。第一個端口號(port)是從follower連接到leader機器的端口,第二個端口是用來進行leader選舉時所用的端口。所以,在集羣配置過程中有三個非常重要的端口:clientPort:2181、port:2888、port:3888。

使用單機模式時需要注意,在這種配置方式下,如果zookeeper服務器出現故障,zookeeper服務將會停止。

6、在數據目錄中創建id標誌。

       在數據目錄下,創建一個myid文件,內容爲server.後面的這個編號

7、將zookeeper目錄發送到其它服務器(使用root用戶)。

scp –r /home/navy/zookeeper/zookeeper-3.4.13 root@yc02:’pwd’/ home/navy/zookeeper/

scp –r /home/navy/zookeeper/zookeeper-3.4.13 root@yc02:’pwd’/ home/navy/zookeeper/

8、在其它服務中創建數據目錄和myid文件。

9、可將zookeeper下的bin目錄添加到環境變量中。

10、發送配置文件

       scp /etc/profile root@yc02:/etc/profile、scp /etc/profile root@yc03:/etc/profile

11、啓動zookeeper。zookeeper/bin/zkServer.sh start。

zkServer.sh start|stop|restart|status

12、查看運行狀態。jps –ml 

可以看到,QuorumPeerMain已經處於運行狀態。

13、執行telnet命令,連接上服務器之後,執行stat命令進行服務啓動的驗證,如果出現類似下面的信息則說明服務已經正常啓動,一般情況下不需要驗證,啓動即可正常運行。

14、運行zkServer.sh status。查看zkServer的運行狀態以及mode是follower還是leader

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