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
wget https://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,看看里面有哪些文件。
需要关注的主要是画红框的部分。
4.配置
现在,我们开始做配置。
cd conf
ll
我们需要修改的是zoo_sample.cfg文件。此时名字中有sample是样本,是不生效的,我们需要修改文件名。我们保留原文件,复制一个新的文件zoo.cfg
cp zoo_sample.cfg zoo.cfg
ll
vi zoo.cfg配置内容
修改数据目录存放的位置,数据目录是集群中每一台机器存放数据的地方,显然存在tmp中并不合适,这里为便于管理,我们改为/root/zkdata,改完后如下:
对于配置文件,我们还需要关注端口,这里是客户端口,而zookeeper集群内部的主从机器交互也需要端口,因此需要在防火墙开很多端口,没有必要,直接将防火墙关闭即可,在实际工业界也是这样做的。因为集群不会暴露给外界的,它是在内网中自己工作的,所以没有必要开防火墙,开了防火墙反而需要添加各种端口配置,更加麻烦。
此外,还需要再配置中写一些内容,需要写集群中的机器数和zookeeper的端口,默认2888和3888。
接下来,我们创建/root/zkdata文件夹,将myid记录。
mkdir /root/zkdata
cd /root/zkdata
echo 1 > myid
ll
这样一台机器的zookeeper就配好了,我们给其他两台做同样的配置,唯一不同的就是我们要把myid由1改成 2 和3 写入各自的myid。
5.启动验证
我们启动zookeeper看看能不能成功。我们启动所有机器的zookeeper。
cd /usr/local/zookeeper-3.4.14
bin/zkServer.sh start
给三台机器全部启动
查看状态:
bin/zkServer.sh status