前言
这段时间在学习zookeeper相关的知识,本来想一个一个知识点全部整理出来的,但是水太深人太笨,只好等以后变秃了再写深入一点的文章。
本文的目的在于用最简洁的篇幅在最短的时间内带大家搭建一个三节点的zookeeper伪集群
下载&解压
先去官网下载zookeeper的源码:https://zookeeper.apache.org/releases.html
这里会告诉你3.6.2是最新的稳定版,但是我这里用的是3.4.6,下载好之后,上传到你的服务器并确保你的服务器上面有jdk环境,解压得到如下结构:
、
创建data目录
因为是三节点,我们先要在根目录下创建一个data文件夹,然后再分别创建3个目录用于存储各节点数据
mkdir data
mkdir data/1
mkdir data/2
mkdir data/3
编写myid
对应的,我们要在每个节点的data目录下创建一个myid文件,并在里面写入一个数字代表你的节点server_id:
echo 1 > data/1/myid
echo 2 > data/2/myid
echo 3 > data/3/myid
编写配置文件
接下来,我们要为每个节点配置一份config文件,在conf目录下有一份zoo_sample.cfg文件,里面注释有每个配置的细节。
vi conf/zoo1.cfg
zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=data/1
clientPort=2181
#集群配置
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883
然后再将zoo1.cfg复制两份命名为zoo2.cfg,zoo3.cfg,同时修改对应的dataDir(data/2;data/3)和clientPort(2182、2183)
启动伪集群
./bin/zkServer.sh start conf/zoo1.cfg
./bin/zkServer.sh start conf/zoo2.cfg
./bin/zkServer.sh start conf/zoo3.cfg
看到三个STARTED代表集群已经启动成功
我们再来看看每个节点的信息:
可以看到,zoo1和zoo3是从节点,zoo2是主节点,伪集群的搭建到这里就完成了