zookeeper 单机集成部署 概述 部署

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等,是很多分布式的基础设置,比如dubbo,kafka,hbase等。zookeeper 可以单机部署,单独使用,一般需要做集群部署。你运行一个zookeeper也是可以的,但是在生产环境中,你最好部署3,5,7个节点。部署的越多,可靠性就越高,当然只能部署奇数个,偶数个是不可以的。

部署

由于是实验性质,我们部署的时候在一台机器上部署多个实例。

1.首先需要下载zookeeper.

2.解压 

tar -zxvf zookeeper-3.4.13.tar.gz

3.进入到 conf目录

创建3份配置文件

zk1.cfg  zk2.cfg  zk3.cfg

3.在根目录下创建 data 目录

mkdir data

cd data 

mkdir zk1

mkdir zk2

mkdir zk3

在data 创建3个目录

4.在根目录下创建log目录

创建3个目录

mkdir log

cd log

mkdir zk1

mkdir zk2

mkdir zk3

5.分别编辑 zk1.cfg zk2.cfg zk3.cfg

zk1.cfg

dataDir=/home/zookpeer/zookeeper-3.4.13/data/zk1
clientPort=2181
dataLogDir=/home/zookpeer/zookeeper-3.4.13/log/zk1
server.1=localhost:2890:3890
server.2=localhost:2891:3891
server.3=localhost:2892:3892

zk2.cfg

dataDir=/home/zookpeer/zookeeper-3.4.13/data/zk2
clientPort=2182
dataLogDir=/home/zookpeer/zookeeper-3.4.13/log/zk2
server.1=localhost:2890:3890
server.2=localhost:2891:3891
server.3=localhost:2892:3892

zk3.cfg

dataDir=/home/zookpeer/zookeeper-3.4.13/data/zk3
clientPort=2183
dataLogDir=/home/zookpeer/zookeeper-3.4.13/log/zk3
server.1=localhost:2890:3890
server.2=localhost:2891:3891
server.3=localhost:2892:3892

6.在data目录创建myid文件

区分到底是第几个实例,就要有个id文件,且名字必须是myid

执行命令

echo "1" > /home/zookpeer/zookeeper-3.4.13/data/zk1/myid
echo "2" > /home/zookpeer/zookeeper-3.4.13/data/zk2/myid
echo "3" > /home/zookpeer/zookeeper-3.4.13/data/zk3/myid

7.分别启动zookeeper 

./bin/zkServer.sh start conf/zk1.cfg
./bin/zkServer.sh start conf/zk2.cfg
./bin/zkServer.sh start conf/zk3.cfg

8.查看zookpeer 状态

zookeeper 单机集成部署
概述
部署

可以看到zk2 是实例,zk1,zk3 是从实例

这样就安装好了zookeeper 的集群,如果是多机器部署

可以改成:

dataDir=/home/zookpeer/zookeeper-3.4.13/data/
clientPort=2181
dataLogDir=/home/zookpeer/zookeeper-3.4.13/log/
server.1=localhost:2890:3890 
server.2=localhost:2890:3890
server.3=localhost:2890:3890

部署更简单。