Linux下ZooKeeper安裝與啟動


Linux下ZooKeeper安裝與啟動

前言

Dubbo目前支持的注冊中心有很多,其中包括有Multicast、Zookeeper、Redis、Simple等。不過Dubbo官方推薦注冊中心的Zookeeper。本篇文章主要介紹,Linux下ZooKeeper的安裝及操作。

環境

  1. ZooKeeper 3.6.0

  2. Ubuntu 16.04

下載

ZooKeeper 官網

下載地址

安裝

  1. 將下載好的安裝包拷貝到Linux服務器上,或者直接在Linux服務器通過wget命令直接下載

wget

  1. 下載完成后通過tar -xvf fileName 命令,將文件解壓。
  2. 將解壓后的文件夾移動至/usr/local/並通過mv OldName NewName重名為:zookeeper(個人習慣,以方便服務器上軟件管理,此步驟可省略),效果如下:

重命名

  1. 進入到ZooKeeper目錄下,創建data文件夾

創建data文件夾

  1. 進入到ZooKeeper的conf文件夾下,將zoo_sample.cfg復制並重命名為zoo.cfg

復制並重命名

  1. 打開zoo.cfg文件,將dataDir指向改為上上一步創建的data文件夾的路徑,修改后保存並退出。其他屬性在非集群情況下通常無需修改,如下:

更改文件路徑

tickTime:ZK中的一個時間單元。ZK中所有時間都是以這個時間單元為基礎,進行整數倍配置的。

initLimit:Follower在啟動過程中,會從Leader同步所有最新數據,然后確定自己能夠對外服務的起始狀態。L允許F在 initLimit 時間內完成這個工作。通常情況下,我們不用太在意這個參數的設置。如果ZK集群的數據量確實很大了,F在啟動的時候,從Leader上同步數據的時間也會相應變長,因此在這種情況下,有必要適當調大這個參數了。默認是:10 * tickTime

syncLimit:在運行過程中,Leader負責與ZK集群中所有機器進行通信,例如通過一些心跳檢測機制,來檢測機器的存活狀態。如果L發出心跳包在syncLimit之后,還沒有從F那里收到響應,那么就認為這個F已經不在線了。默認是:5 * ticktime

dataDir:存儲快照文件snapshot的目錄。默認情況下,事務日志也會存儲在這里。ZK會在特定條件下會觸發一次快照(snapshot),將當前服務節點的狀態以快照文件的形式dump到磁盤上去,即snapshot文件。

clientPort:客戶端連接server的端口,即對外服務端口,一般設置為2181吧。

集群模式下需在該配置文件中添加server.A=B:C:D

A:其中 A 是一個數字,表示這個是服務器的編號;

B:是這個服務器的 ip 地址;

C:Leader選舉的端口;

D:Zookeeper服務器之間的通信端口。

啟動

ZooKeeper的啟動文件在ZooKeeper/bin目錄下

zkServer

其中zkServer.cmd是Windows環境下ZK服務的啟動文件,zkServer.sh是Linux環境下的啟動文件,執行./zkServer.sh start出現如下日志,即表示啟動成功。

zkServer.sh start : 啟動

zkServer.sh status : 查看狀態

zkServer.sh stop : 停止

啟動ZooKeeper

zkCli

zkCli.sh是Linux環境下ZooKeeper客戶端,想要用zkClient鏈接zookeeper,首先執行如下命令,連接到zookeeper server

./zkCli.sh -server localhost:2181

zkCli

連接成功之后,通過鍵入help命令,查看客戶端所支持的所有命令。(只要輸入任何zkCli不能識別的內容,都會出現所有命令)

help

客戶端的一些使用,及集群下節點的操作,請自行百度!執行quit命令退出!

結束語

本人已開通公眾號,歡迎大家前來灌水

公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM