环境配置:
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是否安装
最后校验通过