ZooKeeper安装,部署

实验环境

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
原文地址:https://www.cnblogs.com/metasequoia/p/7388840.html