1. 程式人生 > >Zookeeper基礎—Zookeeper安裝與配製(Linux)

Zookeeper基礎—Zookeeper安裝與配製(Linux)

一、前提準備

1、下載zookeeper

2、安裝配置JDK

3、移入Linux環境建立相當目錄

二、安裝配置

1、解壓Zookeeper

tar -xzvf zookeeper-3.4.8.tar.gz
  • 1

2、修改配置檔案

把conf目錄下的zoo_sample.cfg檔案改成zoo.cfg,並進行修改

# The number of milliseconds of each tick  
# 基本事件單元,這個時間是作為Zookeeper伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,
# 每隔tickTime時間就會發送一個心跳;最小 的session過期時間為2倍tickTime 
tickTime=2000 # The number of ticks that the initial # synchronization phase can take # 此配置表示,允許follower(相對於Leaderer言的“客戶端”)連線並同步到Leader的初始化連線時間,以tickTime為單位。當初始化連線時間超過該值,則表示連線失敗。 initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement # 此配置項表示Leader與Follower之間傳送訊息時,請求和應答時間長度。如果follower在設定時間內不能與leader通訊,那麼此follower將會被丟棄。
syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. # dataDir=/tmp/zookeeper # 儲存記憶體中資料庫快照的位置,如果不設定引數,更新食物的日誌將被儲存到預設位置。 dataDir=/public/software/Zookeeper/workspace/data # 這個操作讓管理機器把事務日誌寫入“dataLogDir”所指定的目錄中,而不是“dataDir”所指定的目錄。這將允許使用一個專用的日誌裝置,幫助我們避免日誌和快照的競爭。
# 日誌目錄 # 應該謹慎的選擇日誌存放的位置,使用專用的日誌儲存裝置能夠大大提高系統的效能,如果將日誌儲存在比較繁忙的儲存裝置上,那麼將會很大程度上影像系統性能。 dataLogDir=/public/software/Zookeeper/workspace/log server.1=192.168.60.150:2888:3888 server.2=192.168.60.151:2888:3888 server.3=192.168.60.152:2888:3888 # server.A=B:C:D:其中 A 是一個數字,表示這個是第幾號伺服器; # B 是這個伺服器的 ip 地址; # C 表示的是這個伺服器與叢集中的 Leader 伺服器交換資訊的埠; # D 表示的是萬一叢集中的 Leader 伺服器掛了,需要一個埠來重新進行選舉,選出一個新的 Leader, # 而這個埠就是用來執行選舉時伺服器相互通訊的埠。如果是偽叢集的配置方式, # 由於 B 都是一樣,所以不同的 Zookeeper 例項通訊埠號不能一樣,所以要給它們分配不同的埠號。 # the port at which the clients will connect # 監聽客戶端連線的埠。 clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # 下面是對maxClientCnxns的解釋 # 這個操作將限制連線到Zookeeper的客戶端數量,並限制併發連線的數量,通過IP來區分不同的客戶端。此配置選項可以阻止某些類別的Dos攻擊。將他設定為零或忽略不進行設定將會取消對併發連線的限制。 #例如,此時我們將maxClientCnxns的值設為1,如下所示: # set maxClientCnxns # maxClientCnxns=1 #啟動Zookeeper之後,首先用一個客戶端連線到Zookeeper伺服器上。之後如果有第二個客戶端嘗試對Zookeeper進行連線,或者有某些隱式的對客戶端的連線操作,將會觸發Zookeeper的上述配置。 #minSessionTimeout和maxSessionTimeout #即最小的會話超時和最大的會話超時時間。在預設情況下,minSession=2*tickTime;maxSession=20*tickTime。 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67

3、設定myid

在新建的data目錄下建立myid

myid和zoo.cfg 
除了修改 zoo.cfg 配置檔案,叢集模式下還要配置一個檔案 myid,這個檔案在 dataDir 目錄下,這個檔案裡面就有一個數據就是 A 的值,Zookeeper 啟動時會讀取這個檔案,拿到裡面的資料與 zoo.cfg 裡面的配置資訊比較從而判斷到底是那個 server。

4、設定環境變數

執行命令:vi /etc/profile,新增 :export ZOOKEEPER_HOME=/usr/local/zookeeper,新增完成後執行source /etc/profile

三、啟動驗證

啟動Zookeeper進行檢視(在Zookeeper的bin目錄下啟動)

./zkServer.sh start  #啟動Zookeeper

./zkServer.sh stop  #關閉Zookeeper

./zkServer.sh status  #檢視Zookeeper狀態
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

也可以輸入jps進行查年。