1 安裝準(zhǔn)備
- 系統(tǒng):CentOS 6.x-7.x
- zookeeper版本:zookeeper-3.4.6
- JDK
- 下載鏈接:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
2 單機(jī)安裝過(guò)程
選擇安裝目錄:例如安裝在/usr/local/或者/opt/下都可以。
$ tar -zxvf zookeeper-3.4.6.tar.gz -C /opt/
$ cd /opt
建立一個(gè)軟連接:
$ ln -s zookeeper-3.4.6 zookeeper
創(chuàng)建zookeeper數(shù)據(jù)和日志存放目錄:
$ mkdir -p /opt/zookeeper/data
$ mkdir -p /opt/zookeeper/logs
配置:
進(jìn)入zookeeper安裝目錄下conf文件夾,將zoo_sample.cfg文件拷貝一份命名為zoo.cfg:
$ cd conf/
$ cp zoo_sample.cfg zoo.cfg
編輯zoo.cfg文件:
$ vim zoo.cfg
# 心跳檢測(cè)的時(shí)間間隔(毫秒),缺试粤:2000
tickTime=2000
# 初次同步的階段(followers連接到leader的階段)吭敢,允許的時(shí)長(zhǎng)initLimit*tickTime (tick數(shù)量)汞幢,缺仕芫丁:10
initLimit=10
# 允許followers同步到ZooKeeper的時(shí)長(zhǎng) syncLimit*tickTime(tick數(shù)量),缺拭蟆:5
syncLimit=5
# 數(shù)據(jù)(比如快照文件购对、事務(wù)日志文件猾昆、pid文件和myid)的存放路徑,初始時(shí)應(yīng)該為空
# 注意:事務(wù)日志的路徑可以通過(guò)dataLogDir來(lái)配置洞斯,默認(rèn)是在dataDir
dataDir=/opt/appl/zookeeper-3.4.6/data
# 事務(wù)日志文件存儲(chǔ)目錄 默認(rèn)存儲(chǔ)在上述 dataDir 對(duì)應(yīng)的目錄下
# dataLogDir=/usr/local/zookeeper/logs
# 客戶(hù)端連接端口毡庆,默認(rèn)為2181
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
# maxClientCnxns=60
# 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
啟動(dòng)zookeeper:
$ bin/zkServer.sh start
查看zookeeper狀態(tài):
$ bin/zkServer.sh status
JMX enabled by default
Using config: /opt/appl/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: standalone
停止zookeeper:
$ bin/zkServer.sh stop
3 集群安裝
同單機(jī)一樣安裝坑赡,配置有以下不同烙如。注
我這里有三臺(tái)機(jī)器,所有機(jī)器zk配置應(yīng)該保持一致毅否。
把ID寫(xiě)入zookeeper安裝目錄下data/myid文件:
機(jī)器1:132.32.1.11
echo 1 > data/myid
機(jī)器2:132.32.1.12
echo 2 > data/myid
機(jī)器3:132.32.1.13
echo 3 > data/myid
編輯zoo.cfg文件亚铁,添加一下配置:
# zk 節(jié)點(diǎn)配置,server.x,x為data/myid文件中的數(shù)字
server.1=132.32.1.11:2888:3888
server.2=132.32.1.12:2888:3888
server.3=132.32.1.13:2888:3888
依次啟動(dòng)螟加,然后查看狀態(tài):
$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/appl/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
三臺(tái)機(jī)器有一個(gè)leader徘溢,兩個(gè)follower即為正確。