▉本例选用三台server做实验,采用vmware虚拟三台redhat7.3的server;
主机名称分别为host01、host02、host03;
IP地址分别为192.168.30.128、192.168.30.129、192.168.30.130;
zookeeper安装路径为:/opt/soft/zookeeper-3.4.11,路径不绝对,根据你自己的喜欢安装就好,只要你知道它在哪里就OK,我的zookeeper版本为3.4.11。
▉确保3台虚机均满足如下条件:
①3台虚机都是NAT方式上网并且IP地址是静态的;
②3台虚机都关闭了防火墙;
③3台虚机都安装了zookeeper;
④3台虚机都安装了JAVA(JDK);
◀▶NAT上网方式设置方法略去,这里只讲静态IP的设置,三台都要改,以host01为例
首先编辑network配置文件:
[root@host01]#vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=host1 //后面两台虚机依次为host02、host03
然后编辑ifcfg=ens33配置文件:
[root@host01]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.30.128 //三台各不一样
GATEWAY=192.168.30.2 //这个网关是我自己的根据你自己的来
NETMASK=255.255.255.0
DNS1=192.168.30.2 //三台均一样并不区分DNS1、DNS2、DNS3
◀▶关闭防火墙,三台都要改,三台都一样
[root@host01]#systemctl disable firewalld //永久关闭防火墙
[root@host01]#systemctl status firewalld //查看防火墙状态
▉修改hosts配置文件,三台都要改,三台都一样,IP地址根据你自己的来
[root@host01]# cd /etc/hosts
[root@host01]# vim hosts
host01 192.168.30.128
host02 192.168.30.129
host03 192.168.30.130
▉修改zookeeper权限,三台都要改,三台都一样
[root@host01]# cd /opt/soft
[root@host01]# chown -R root:root zookeeper-3.4.11
▉创建zookeeper数据目录、日志目录、ID号,三台都要改,三台ID都不一样,但三台的目录一样
[root@host01]# cd /
[root@host01]# mkdir data
[root@host01]# cd data
[root@host01]# mkdir zoo_data zoo_log
[root@host01]# cd zoo_data
[root@host01]# touch myid
[root@host01]# vim myid
1 //该配置文件只需要写进一个数字1即可,后面的两台分别写2、3
▉修改zookeeper配置文件zoo.cfg,三台都要改,三台都一样
[root@host01]# cd /opt/soft/zookeeper-3.4.11/conf
[root@host01]# cp zoo_sample.cfg zoo.cfg
[root@host01]# vim zoo.cfg
dataDir=/data/zoo_data
dataLogDir=/data/zoo_log
server.1=192.168.30.128:2888:3888
server.2=192.168.30.129:2888:3888
server.3=192.168.30.130:2888:3888
▉启动zookeeper,三台必须都启动,不然一会查看状态的时候会显示失败
[root@host01]# cd /opt/soft/zookeeper-3.4.11/bin
[root@host01]# ./skServer.sh start
如果启动成功,会出现如下提示信息:
▉查看zookeeper三台主机之间的主从分配状态
[root@host01]# ./skServer.sh status
如果握手成功,会出现如下提示:
具体某台虚机是follower还是leader是由投票机制选举出来的,但是总有一台是leader。
-----------------------------------------------------------------------------------------------
★实事情况是查看三台虚机的服务状态这最后一步会出现各种各样的问题
★具体是什么问题可以通过查看/opt/soft/zookeeper-3.4.11/bin目录下的日志文件zookeeper.out来分析
★一定要确保下面的操作你都做好了
①三台虚机防火墙一定要关闭
②三台虚机hosts文件一定是配置好的主机名和IP地址对应
③三台虚机一定要都安装好了JAVA
-----------------------------------------------------------------------------------------------
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
如果你保证上面我说的步骤都做好了最后握手还是不能成功,可以用清除数据缓存的方式来解决
[root@host01]#cd /data/zoo_data
[root@host01]#rm -rf zookeeper_server.pid version-2
[root@host01]#cd zoo.log
[root@host01]#rm -rf version-2
然后重启zookeeper服务,再次查看状态
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥