实验环境
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