Linux 下搭建zookeeper集群(三台虚拟机,CentOS7)

前言:搭建这个集群,首先必须细心,再者考虑周全,前两年搭建七台都是so easy,这次三台,我就失败好几次,血的教训,希望后来者不要重蹈覆辙。之前安装虚拟机都是CentOS7版本以下得,很多命令齐全,操作顺畅,所以容易搭建成功,但现在基本都是CentOS7及7以上版本,很多命令得自己手动下载,有的命令也有所变动,甚至配置文件内容都发生变化,这个之后你就会慢慢发现,不罗嗦了,进入正题。

准备:搭建zookeeper集群,我这里用三台虚拟机(必须是奇数台,至少三台(五台,七台和三台搭建操作内容都大同小异,只需要配置修改一下),为撒是奇数台,自己查!!!这是我安装虚拟机过程:https://blog.csdn.net/qq_39772439/article/details/98743484)安装完后保准三台能ping通,并且每个虚拟机都必须安装好jdk(我安装1.8的,这是我安装jdk链接,有兴趣可以看看:https://blog.csdn.net/qq_39772439/article/details/98752088)。

一切准备就绪了,开始搭建吧!!!

  先下载一个zookeeper

链接:https://pan.baidu.com/s/1uuO0438F95u2bMnTFsA52g 
提取码:tfx5 

第一步:创建一个放压缩包的文件夹,并将zookeeper放进去

  cd /usr/local

 mkdir software

ll

cd software

通过xshell将压缩包放进去(不知道撒是xshell???上网查去。只要包压缩包整进去就OK了)

第二步:将他解压并放到到zkcluster(zkcluster也是自己创建的文件夹)

cd /usr/local

mkdir zkcluster

ll

将software 中的压缩包解压并放到zkcluster中

cd /usr/local/software

tar -zxvf zookeeper-3.4.5.tar.gz 

解压之后

ll

修改名字3001(剩下的两个分别为3002,3003)

 mv zookeeper-3.4.5 3001

将其放到zkcluster

 mv 3001 /usr/local/zkcluster/

cd /usr/local/zkcluster/
ll

第三步:配置zoo.cfg

cd 3001/conf/

修改zoo_sample.cfg为 zoo.cfg

mv zoo_sample.cfg zoo.cfg

打开zoo.cfg配置文件

修改后的zoo.cfg配置文件

dataDir=/usr/local/zkcluster/3001/data
dataLogDir=/usr/local/zkcluster/3001/logs
clientPort=3001 
server.1=192.168.95.128:2881:3881
server.2=192.168.95.129:2882:3882
server.3=192.168.95.130:2883:3883
(说明:server.X,这个X值即为集群机器中myid文件中的值;后面的IP即为集群机器的IP,后面的两个端口号依次为集群中节点交换信息的端口、重新选举Leader的通信端口) 

第四步,根据zoo.cfg创建不存在的文件及文件夹

dataDir=/usr/local/zkcluster/3001/data
dataLogDir=/usr/local/zkcluster/3001/logs

mkdir data

mkdir logs

创建myid文件在data文件夹中,server.X,这个X值即为集群机器中myid文件中的值,所以每个集群机器的myid不一致

vi /data/myid


至此,配置就算基本完成了,所有Zookeeper集群中的节点机器,除了myid文件中的值和zoo.cfg中clientPort值不一样外,其它配置均一样。

剩下的两台和第一台内容基本一致,除了myid,clientPort值,zookeeper名字修改的不一致
第五步:至关重要的一步,关掉防火墙

由于是CentOS7,它关闭防火墙的命令和之前不一致
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动(最好禁止)
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

systemctl stop firewalld.service 关闭防火墙

最后启动三台服务器

cd /usr/local/zkcluster/3001/bin/

zkServer.sh start

三台都启动完毕之后,再查看服务状态并可以看到当前节点是leader(主)节点还是follower(从)节点。

zkServer.sh status

第一台 follower

第二台:leader

第三台:follower

啊,萨嘎,搭建成功。

如果出现以下错误

可通过在bin中zookeeper.out 中查询原因。

Guess you like

Origin blog.csdn.net/qq_39772439/article/details/98944800