1 下載安裝:
cd /usr/local/software
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz
tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz
ln -s /usr/local/software/apache-zookeeper-3.6.2-bin /usr/local/zookeeper
創(chuàng)建數(shù)據(jù)目錄和日志目錄
mkdir /usr/local/zookeeper/{data,logs}
注: zk的安裝依賴java,所以需要先安裝jdk,統(tǒng)一使用jdk1.8,需要check下java命令對應(yīng)的版本是1.8或以上
如果默認(rèn)的java不是1.8(java -version看一下),可以安裝java1.8后在zkEnv.sh中使用JAVA_HOME前指定java1.8的具體路徑,比如JAVA_HOME=/usr/local/java8
2 修改配置
cd /usr/local/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
【StandAlone模式】 不用這種方式,單機部署時僅供參考
#vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181
admin.serverPort=8887 #默認(rèn)端口是8080,可能被占用了,可以更改
【Distributed模式】直接用這種方式
#vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181
server.服務(wù)編號=服務(wù)地址、LF通信端口、選舉端口
server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=ip3:2888:3888
admin.serverPort=9999 #默認(rèn)端口是8080
配置項說明:
tickTime: zk中使用的基本時間單元,單位為毫秒,用于控制心跳和超時。更低的tickTime值可以更快的發(fā)現(xiàn)超時問題
initLimit:zk集群中follower初始化連接到leader時,最長能忍受多少個tickTime,默認(rèn)值為10,即為20s
syncLimit:用于配置leader和follower間進行心跳檢測的最大超時時間。如果在設(shè)置的時間內(nèi)followers無法與leader進行通信,那么follower將會被丟棄。默認(rèn)值為5,即10s
dataDir:zk用于存儲內(nèi)存數(shù)據(jù)庫快照的目錄。如果不指定dataLogDir參數(shù),則數(shù)據(jù)庫更新的事務(wù)日志也將會存儲在該目錄下
dataLogDir:指定zk事務(wù)日志的存儲目錄
clientPort:服務(wù)器監(jiān)聽客戶端連接的端口,默認(rèn)值為2181
maxClientCnxns:限制單個客戶端與單臺服務(wù)之間的并發(fā)連接數(shù),默認(rèn)值為60,設(shè)置為0則不限制
autopurge.snapRetainCount:配置zk在自動清理的時候需要保存的數(shù)據(jù)文件快照的數(shù)量和對應(yīng)的事務(wù)日志文件,默認(rèn)為3
autopurge.purgeInterval:和autopurge.snapRetainCount配置使用,用于配置zk自動清理文件的頻率,默認(rèn)為1小時,即默認(rèn)開啟自動清理功能,設(shè)置為0,則表示禁用清理功能
集群模式中,集群中的每臺機器都需要感知其它機器,在zoo.cfg配置文件中,可以按照如下格式進行配置:server.id=host:port:port,其中id即server id,用于標(biāo)識服務(wù)器在集群中的序號。每臺zk服務(wù)器上,都需要在數(shù)據(jù)目錄下創(chuàng)建一個myid文件,該文件中只有一行內(nèi)容,即對應(yīng)于每臺服務(wù)器的server id。
zk集群中,每臺服務(wù)器上的zoo.cfg配置文件內(nèi)容一致
3 創(chuàng)建myid文件
每個服務(wù)器上的myid內(nèi)容都不同,且需要保證和自己的zoo.cfg配置文件中"server.id=host:port:port"的id值一致
id的范圍是1~255
echo “1” > /usr/local/zookeeper/data/myid
4 啟動
/usr/local/zookeeper/bin/zkServer.sh start
5 在客戶端驗證
telnet 127.0.0.1 2181
stat
6 基本用法
zkCli.sh -server localhost:2181文章來源:http://www.zghlxwxcb.cn/news/detail-502262.html
各個zk機器上查詢狀態(tài):zkServer.sh status文章來源地址http://www.zghlxwxcb.cn/news/detail-502262.html
到了這里,關(guān)于Zookeeper集群部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!