实验环境
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..tar.gz
ln -s zookeeper-3.4. 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.=192.168.1.10:: # 集群通讯端口,不能占用服务端口
server.=192.168.1.10::
server.=192.168.1.11::
autopurge.purgeInterval=
autopurge.snapRetainCount=
maxClientCnxns=
集群还需要配置myid
在dataDir目录/data/data/zookeeper1/data/下写一个myid文件,命令如下:
echo "" > /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: