一、准备工作
这里我们准备搭建3个zookeeper集群节点,所以我们需要提前准备3台虚拟机,需要的同学可以点此链接查看虚拟机的搭建。
zookeeper依赖Java环境,所以我们需要在三台centos系统上都配置好Java环境,需要的同学点此链接查看配置Java环境。
当然最重要的我们还需要提前下载好zookeeper的压缩包,官网下载地址:https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz。
另外下面文章中我们统一将zookeeper简称为:zk
二、搭建集群
1、上传zk压缩包并解压
(1)、通过以下命令进入usr/local共享文件夹
cd /usr/local
(2)、新建zookeeper文件夹并进入其中
mkdir zookeeper
cd zookeeper
(3)、上传zk压缩包
通过rz命令上传下载的zk压缩包(rz命令需要安装lrzsz软件,没有安装的小伙伴点此链接查看安装方法)。
rz
(4)、解压zk的tar压缩包
tar -xvf apache-zookeeper-3.5.8-bin.tar.gz
(5)、删除无用的压缩包
rm -rf apache-zookeeper-3.5.8-bin.tar.gz
2、编辑zoo.cfg配置文件
(1)、进入zk根目录下conf文件夹
cd apache-zookeeper-3.5.8-bin/conf/
(2)、复制zoo_sample.cfg文件生成zoo.cfg配置文件
cp zoo_sample.cfg zoo.cfg
(3)、编辑zoo.cfg配置文件
通过vim zoo.cfg命令(如果没有安装vim可以点此链接查看安装方法),以编辑模式打开zoo.cfg文件。
vim zoo.cfg
按insert键(或i键)开始编辑,新增或修改以下配置 :
#修改数据存储目录
dataDir=/usr/opt/zookeeper/data
#添加日志存储目录
dataLogDir=/usr/opt/zookeeper/logs
#修改ip,防止ip默认为:localhost
clientPortAddress=10.0.205.131
#集群机器配置
server.0=10.0.205.131:2888:3888
server.1=10.0.205.189:2888:3888
server.2=10.0.205.197:2888:3888
2888端口是数据同步投票的端口;3888是leader选举投票的端口;
3、新增本机节点信息
(1)、新建数据存储目录
mkdir -p /usr/opt/zookeeper/data
(2)、新建日志存储目录
mkdir -p /usr/opt/zookeeper/logs
(3)、新增本机节点
进入/usr/opt/zookeeper/data目录
cd /usr/opt/zookeeper/data/
通过vim myid命令新增myid文件
vim myid
并在myid文件中新增以下配置保存退出:
0
这里需要注意一下:myid中的值和zoo.cfg中的集群机器配置的server.*对应,myid中配置本机节点的节点序号。例如本机IP是10.0.205.131,myid文件中的集群节点序号值就是0,和server.0对应。
4、配置zk的环境变量
(1)、通过vim /etc/profile以编辑模式打开profile文件
vim /etc/profile
(2)、新增zk环境变量
按insert键(或i键)开始编辑,编辑完毕后按ESC键停止编辑,输入:wq+回车保存退出profile文件。
export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.5.8-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin
:wq
(3)、通过source /etc/profile命令是配置立即生效
source /etc/profile
5、按照以上顺序搭建其他两台服务器
按照以上步骤搭建其他两台服务器,xshell有一个命令转发功能可以同时操作多态服务器,在工具》发送键输入到所有会话,勾选即可:
三、启动zk集群并验证
(1)、进入zk的bin目录
cd /usr/local/zookeeper/apache-zookeeper-3.5.8-bin/bin/
(2)、启动zk服务
zkServer.sh start
(3)、查看zk服务状态
zkServer.sh status
四、总结
zookeeper集群搭建成功。
(1)、停止zk服务命令
zkServer.sh stop