Zookeeper集群搭建

1.说明

本文用的linux版本:centos6,准备3台centos6虚拟机,给他们安装zookeeper,每一台的安装过程相同,你也可以安装一台,然后克隆出另外两台。主机名分别为node1,node2,node3。

2.准备工作

安装java,wget

yum -y install java

yum -y install wget

3.安装zookeeper

以node1为例:

进入下载目录:cd /usr/local

wgethttps://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

下载完之后解压:

tar -zxvf zookeeper-3.4.14.tar.gz

解压完成后,ll一下看看是否解压到目录里。

[转帖]Zookeeper集群搭建(3个节点为例)_java

安装成功。

现在我们进入zookeeper,看看里面有哪些文件。

[转帖]Zookeeper集群搭建(3个节点为例)_java_02

需要关注的主要是画红框的部分。

4.配置

现在,我们开始做配置。

cd conf

ll

[转帖]Zookeeper集群搭建(3个节点为例)_java_03

我们需要修改的是zoo_sample.cfg文件。此时名字中有sample是样本,是不生效的,我们需要修改文件名。我们保留原文件,复制一个新的文件zoo.cfg

cp zoo_sample.cfg zoo.cfg

ll

[转帖]Zookeeper集群搭建(3个节点为例)_数据目录_04

vi zoo.cfg配置内容

[转帖]Zookeeper集群搭建(3个节点为例)_数据目录_05

修改数据目录存放的位置,数据目录是集群中每一台机器存放数据的地方,显然存在tmp中并不合适,这里为便于管理,我们改为/root/zkdata,改完后如下:

[转帖]Zookeeper集群搭建(3个节点为例)_java_06

对于配置文件,我们还需要关注端口,这里是客户端口,而zookeeper集群内部的主从机器交互也需要端口,因此需要在防火墙开很多端口,没有必要,直接将防火墙关闭即可,在实际工业界也是这样做的。因为集群不会暴露给外界的,它是在内网中自己工作的,所以没有必要开防火墙,开了防火墙反而需要添加各种端口配置,更加麻烦。

此外,还需要再配置中写一些内容,需要写集群中的机器数和zookeeper的端口,默认2888和3888。

[转帖]Zookeeper集群搭建(3个节点为例)_zookeeper_07

接下来,我们创建/root/zkdata文件夹,将myid记录。

mkdir /root/zkdata

cd /root/zkdata

echo 1 > myid

ll

[转帖]Zookeeper集群搭建(3个节点为例)_zookeeper_08

这样一台机器的zookeeper就配好了,我们给其他两台做同样的配置,唯一不同的就是我们要把myid由1改成 2 和3 写入各自的myid。

5.启动验证

我们启动zookeeper看看能不能成功。我们启动所有机器的zookeeper。

cd /usr/local/zookeeper-3.4.14

bin/zkServer.sh start

[转帖]Zookeeper集群搭建(3个节点为例)_java_09

给三台机器全部启动

[转帖]Zookeeper集群搭建(3个节点为例)_java_10

查看状态:

bin/zkServer.sh status

[转帖]Zookeeper集群搭建(3个节点为例)_数据目录_11