在同一台服务器上,部署一个 3 个 ZooKeeper 节点组成的集群,这样的集群叫伪分布式集

群,而如果集群中的 3 个节点分别部署在 3 个服务器上,那么这种集群就叫真正的分布式

集群。

这里,记录一下搭建一个 3 节点的伪分布式集群的过程,真正的分布式集群的搭建过程和

伪分布式的过程类似,稍有不同,我会在下面指出来的。

首先,建立一个集群安装的目录,就叫 zookeeper。其次,在这个目录的下面解压三份

ZooKeeper,形成 3 个节点,每一个目录中的 ZooKeeper 就代表一个节点。

这样就形成了如下的安装目录结构:

/root/zookeeper

|----zookeeper1/

|----zookeeper2/

|----zookeeper3/

解压 zookeeper 安装包

首先在要安装集群的目录中解压 zk。

tar -zxvf zookeeper-3.4.10.tar.gz

之后把解压的 zk 复制出三份来,分别命名为 zookeeper1,zookeeper2,zookeeper3,这三

个目录中的 zk 就当成是集群中的 3 个节点。

为每个节点建立 data 目录、logs 目录和 myid 文件

在 3 个节点目录中分别建立 data 目录、logs 目录和 myid 文件。

下面是 zookeeper1 上的:

新建目录 data:mkdir data

新建目录 logs:mkdir logs

新建文件 myid:touch data/myid

myid 文件的内容是节点在集群中的编号,zookeeper1 节点的编号就写成 1,后边的

zookeeper2 的编号是 2,zookeeper3 的编号就是 3。

按照同样的方法,依次在 zookeeper2 和 zookeeper3 上都建立以上目录和文件。

为每个节点创建配置文件

在 zookeeper1 下新增配置文件:cp zoo_sample.cfg zoo.cfg

配置文件 zoo.cfg 的内容如下:

1

2

3

4

5

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/root/zookeeper/zookeeper1/data

dataLogDir=/root/zookeeper/zookeeper1/logs

4

6

7

8

9

clientPort=2181

server.1=127.0.0.1:8880:7770

server.2=127.0.0.1:8881:7771

server.3=127.0.0.1:8882:7772

配置文件中的配置项的含义参见下面的介绍。

用同样的方法,在 zookeeper2 和 zookeeper3 的相应位置创建 zoo.cfg,文件内容复制

zookeeper1 的 zoo.cfg。只不过需要改动 clientport、dataDir、dataLogDir 三个配置项,

zookeeper2 的 clientport 改为 2182,zookeeper3 的 clientport 改为 2183,而 dataDir

和 dataLogDir 都修改为相应的目录,就好了。

经过以上的配置,zk 集群中的 3 个节点就全部配置好了。

启动 zk 集群

进入 zookeeper 集群的第一个节点 zookeeper0 的 bin 目录下,启动服务:

1

2

3

[root@localhost zookeeper]$

[root@localhost zookeeper]$ cd zookeeper1/

[root@localhost zookeeper1]$ bin/zkServer.sh start

然后,按照同样的方法,依次启动 zookeeper1 和 zookeeper2 的服务。

这样 zookeeper 集群的 3 个节点都启动起来了。

5

客户端接入集群

进入 zookeeper 集群中任意一个节点的 bin 目录下,启动一个客户端,接入已经启动好的

zookeeper 集群。这里的 server 可以填写集群中的任何一个节点的 ip,端口号是对应 ip

的节点的配置文件中 clientport 的值。

1

./zkCli.sh –server 127.0.0.1:2181

以上就是 zk 集群的搭建过程。

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: