zookeeper集群搭建

初始化系统配置

配置主机名与IP地址映射

修改/etc/hosts文件,添加主机名与IP的映射关系。如下图:  

同步系统时间与关闭防火墙

同步系统时间需要先安装ntpdate,使用命令yum install -y ntpdate。安装完成后使用命令ntpdate -q 0.cn.pool.ntp.org同步系统时间。如下图:  

使用命令systemctl disable firewalld && systemctl stop firewalld关闭防火墙

安装JDK环境

下载jdk并安装

http://java.sun.com/javase/downloads/index.jsp下载适合安装系统的最新jdk安装包。在这个安装过程中下载的是linux版的16.0.2 RPM安装包,使用命令rpm -Uvh jdk-16.0.2_linux-x64_bin.rpm安装如下图:  

安装完成后,使用命令java -vervison验证安装。如下图:  

安装zookeeper集群

下载zookeeper安装包

zookeeper安装包的下载地址:http://zookeeper.apache.org/releases.html,在此安装中下载的是最新的3.7.0版本。  

1
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
解压下载的安装包在安装目录

把下载的安装包解压到安装目录/usr/local/下

1
tar -zxf apache-zookeeper-3.7.0-bin.tar.gz -C /user/local/
创建配置文件

进入zookpeeper安装目录下的conf目录,复制zoo_sample.cfg文件并重命名为zoo.cfg。如下图:  

修改配置文件内容

配置文件内容主要修改数据目录dataDir和集群服务器地址信息类似server.N=YYY:A:B,其它使用默认配置。内容如下图:  

1
2
3
4
5
6
7
8
9
10
11
12
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/apps/zookeeper/data
clientPort=2181
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=dev-vm2:2888:3888
server.2=dev-vm3:2888:3888
server.3=dev-vm4:2888:3888
4lw.commands.whitelist=*

创建myid文件

zookeeper集群需要为集群中每台服务器指定一个唯一编号,在配置dataDir参数设置的目录中新建名为’myid’文件,内容为在配置文件中配置的server.N相对应的N数值。内容如下图:  

创建初始化标记文件initialize

在与myid相同的目录中创建一个初始化标记文件initialize。该文件表明需要一个空的数据目录。当存在时,将创建一个空数据库并删除标记文件。如果不存在,空数据目录将意味着该对等方将没有投票权,并且在与活动领导者通信之前不会填充数据目录。预期用途是仅在启动新集合时创建此文件。

1
touch /apps/zookeeper/data/initialize
启动集群

进入安装目录中的bin目录下使用./zkServer.sh start启动集群每个节点。如下图:  

查看集群状态

使用./zkServer.sh status查看集群状态,出现如下图信息表明zookeeper集群搭建成功。

关闭zookeeper服务

使用./zkServer.sh stop可以关闭zookeeper节点的zk服务。