ZooKeeper安装,部署

时间:2021-07-23 12:01:01

实验环境

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: