實驗環境
192.168.1.10 Zookeeper1:2181, Zookeeper2:2182
192.168.1.11 ZooKeeper3:2181
?
依賴環境
JDK1.7
?
安裝,配置
1、下載解壓
# 192.168.1.10
cd /data/server tar -zxv -f zookeeper-3.4.6.tar.gz ln -s zookeeper-3.4.6 zookeeper1
ln -s zookeeper-3.4.6 zookeeper2
2、設置環境變量
vim /etc/profile
# zookeeper1 export ZOOKEEPER_HOME=/data/server/zookeeper1 export PATH=$PATH:$ZOOKEEPER_HOME/bin # zookeeper2 export ZOOKEEPER_HOME=/data/server/zookeeper2 export PATH=$PATH:$ZOOKEEPER_HOME/bin
3、zookeeper配置文件
配置文件存放在$ZOOKEEPER_HOME/conf/目錄下,將zoo_sample.cfd文件名稱改為zoo.cfg
配置說明:
配置文件存放在$ZOOKEEPER_HOME/conf/目錄下,將zoo_sample.cfd文件名稱改為zoo.cfg
tickTime:這個時間是作為Zookeeper服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個tickTime時間就會發送一個心跳。
dataDir:顧名思義就是Zookeeper保存數據的目錄,默認情況下,Zookeeper將寫數據的日志文件也保存在這個目錄里。
clientPort:這個端口就是客戶端連接Zookeeper服務器的端口,Zookeeper會監聽這個端口,接受客戶端的訪問請求。
cp zoo_sample.cfg zoo.cfg mv zoo_sample.cfg zoo_sample.bak mkdir -p /data/data/zookeeper1/data mkdir -p /data/data/zookeeper2/data mkdir -p /data/data/zookeeper1/datalog mkdir -p /data/data/zookeeper2/datalog
4、修改配置文件
vim conf/zoo.cfg
dataDir=/data/data/zookeeper1/data dataLogDir=/data/data/zookeeper1/datalog #集群添加 server.1=192.168.1.10:2888:3888 # 集群通訊端口,不能占用服務端口 server.2=192.168.1.10:2889:3889 server.3=192.168.1.11:2888:3888 autopurge.purgeInterval=1 autopurge.snapRetainCount=7 maxClientCnxns=600
集群還需要配置myid
在dataDir目錄/data/data/zookeeper1/data/下寫一個myid文件,命令如下: echo "1" > /data/data/zookeeper1/data/myid 注意:這個id是zookeeper的主機標示,每個主機id不同第二臺是2,第三臺是3。
5、修改日志路徑
vim bin/zkEnv.sh
ZOO_LOG_DIR="/data/data/zookeeper1/datalog" ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
6、修改內存參數
vim bin/zkServer.sh
# use POSTIX interface, symlink is followed automatically #附近48行添加 JAMPARAM="-Xms4096M -Xmx4096M -Xmn512M"
?
啟動,停止Zookeeper
/data/server/zookeeper1/bin/zkServer.sh start # 啟動 /data/server/zookeeper1/bin/zkServer.sh stop # 關閉
?
Zookeeper基本操作命令
# 客戶端連接server zkCli.sh -server localhost:2181
?
?
?