1.安装步骤
ZooKeeper全分布式,又称ZooKeeper集群模式,安装步骤如下。
(1)将ZooKeeper安装包放到虚拟机master的家目录下,在根目录下新建目录/mysoft,解压ZooKeeper安装包到/mysoft目录下。
[root@master ~]#mkdir /mysoft
[root@master ~]#tar -zxvf /zookeeper -C /mysoft/
注:(zookeeper这里指的是你根目录下的zookeeper安装包)
(2)切换到/mysoft目录下,将安装好的zookerper-3.4.10重命名为zookeeper。
[root@master ~]# cd /mysoft
[root@master mysoft]# mv zookeeper-3.4.10 zookeeper**
(3)打开/etc/profile文件,配置ZooKeeper环境变量。
[root@master ~]# vi /etc/profile
在文件末尾添加如下三行内容。
(4)使用环境变量生效。
[root@master ~]# source /etc/profile
或者
[root@master ~]# . /etc/profile
注:上述两种方法效果相同选择其一即可。
(5)将文件/mysoft/zookeeper/conf/zoo_sample.cfg重命名为zoo.cfg(ZooKeeper的配置文件)。
[root@master mysoft]# cd /mysoft/zookeeper/conf/
[root@master conf]#mv zoo_sample.cfg zoo.cfg
(6)修改ZooKeeper的配置文件zoo.cfg。
[root@master conf]# vi /mysoft/zookeeper/conf/zoo.cfg
将dataDir=/tmp/zookeeper修改为如下内容。
dataDir=/mysoft/zookeeper/zkdata
文件末尾添加如下三行内容。
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
其中,“1“”2“”3“是myid,要求是1~255的整数:master、slave1、slave2代表其对应的主机地址。2888是Leader端口,负责和Follower进行通信。3888是Follower端口,负责推选Leader。
(7)新建目录/mysoft/zookeeper/zkdata,在该目录下新建文件myid。
[root@master conf]# mkdir /mysoft/zookeeper/zkdata
[root@master conf]# vi /mysoft/zookeeper/zkdata/myid
在myid文件中填写如下内容。
1
(8)将zookeeper分发到虚拟机slave1、slave2.。
[root@master conf]#scp -r /mysoft/zookeeper/ root@10.0.128.29:/mysoft/
[root@master conf]#scp -r /mysoft/zookeeper/ root@10.0.128.30:/mysoft/
注:此处10.0.128.29意思与slave1意思相同前面有做映射也可用slave1替换。
(9)修改虚拟机slave1的/mysoft/zookeeper/zkdata/myid文件。
[root@slave1 ~]#vi /mysoft/zookeeper/zkdata/myid
将myid中的文件中的内容替换为如下内容。
2
(10)修改虚拟机slave2的/mysoft/zookeeper/zkdata/myid文件。
[root@slave2 ~]#vi /mysoft/zookeeper/zkdata/myid
将myid中的文件中的内容替换为如下内容。
3
(11)将虚拟机master的系统环境变量分发到虚拟机slave1、slave2。
[root@master ~]#scp /etc/profile root@10.0.128.29:/etc/profile
[root@master ~]# scp /etc/profile root@10.0.128.30:/etc/profile
(12)分别使虚拟机salve1、slave2的环境变量生效。
[root@slave1 ~]#source /etc/profile
[root@slave2 ~]#source /etc/profile
(13)在确保三台虚拟机防火墙关闭的前提下才可启动虚拟机的zookeeper服务器。
关闭:systemctl stop firewalld
打开:systemctl start firewalld
查看状态:systemctl status firewalld
(14)接下来启动三台虚拟机的zookeeper服务器。
[root@master ~]#zkServer.sh start
[root@slave1 ~]#zkServer.sh start
[root@slave2 ~]#zkServer.sh start
(15)分别查看虚拟机的zookeeper服务器的启动状态。
查看虚拟机master。
查看虚拟机slave1。
查看虚拟机slave2。
查看启动状态返回的结果中,出现Mode:follower或者Mode:leader,表明zookeeeper服务器启动成功。