Zookeeper基礎—Zookeeper安裝與配製(Linux)
阿新 • • 發佈:2019-02-05
一、前提準備
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
進行查年。