CentOS7 下 zookeeper集群搭建

环境配置:

VM12 + CentOS7 + JDK+  zookeeper-3.4.12.tar.gz


说明:提供服务的机器数量2*n + 1 奇数台 

至少要超过半数,zookeeper才可以提供服务,因为Zookeeper只允许半数宕机

zk 下载地址:http://mirror.bit.edu.cn/apache/zookeeper/

ZooKeeper不存在明显的master/slave关系,各个节点都是服务器,leader挂了,会立马从follower中选举一个出来作为leader.

由于没有主从关系,也不用配置SSH无密码登录了,各个zk服务器是自己启动的,互相之间通过TCP端口来交换数据。

通过ftp工具上传到服务器上

通过命令 tar -zxvf -C zookeeper-3.4.12.tar.gz  解压到指定目录

使用 mv 修改zk文件夹名称  


切换到  /opt/zookeeper/conf


修改 zoo_sample.cfg 为 zoo.cfg


vim 打开 zoo.cfg配置集群信息

vim zoo.cfg

可注释掉原data路径(也可保留),添加新的data、logs路径,修改端口,增加集群实例

我这里使用的是域名,使用ip是同样的, 配置域名好处就是 ip有变化时 不再需要重新配置

域名配置实在 /etc/hosts 文件中配置


配置完成后,通过 scp命令 同步到其他两台机子上,记得修改 clientPort 


进入配置的dtaDir 目录下创建myid文件,内容一次填写 1,其他机子依次递增、



关键时刻到了, 启动&验证

分别通过命令  ./zkServer.sh start 启动zk

查看zk状态   ./zkServer.sh status

查看时 如果出现下面错误, 请查看防火墙是否关闭。,查看防火墙状态 service iptables status 如果没有关闭,就 service iptables stop 关闭防火墙,然后重新启动zookeeper 看是否启用成功

或者检查jdk是否安装


 
 

1、firewalld的基本使用

启动: systemctl start firewalld
查看状态: systemctl status firewalld 
停止: systemctl disable firewalld
禁用: systemctl stop firewalld


最后校验通过