Zookeeper 服务集群的搭建
Zookeeper 集群的数量推荐为奇数集群,因为 Zookeeper 集群要想持续工作,必须要保证半数以上的集群存活。
如果只有四台服务器,有两台无法工作,那么这个集群将无法正常工作,如果集群中为 5 台服务器,那么在有两台无法正常工作的情况下,zookeeper 集群依旧可以保持正常运行。
集群搭建示例
现如今我有三台虚拟机 ,其 ip 分别为 192.168.16.130,192.168.16.131,192.168.16.132
Step 1: 修改三台 linux 的 host 文件
# 打开 linux 的 host 文件
vi /etc/hosts
# 然后按 i 进入 插入编辑模式
# 在文件末尾追加
192.168.16.130 zoo1
192.168.16.131 zoo2
192.168.16.132 zoo3
# 测试l连通(在这里我以192.168.16.132虚拟机为例)
ping zoo1
Step 2: 修改 Zookeeper 的配置文件
# 打开 zookeeper 配置文件所在目录
cd /usr/local/apache-zookeeper-3.6.1-bin/conf
# 编辑配置文件
vi zoo.cfg
# 在配置文件末尾追加
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
# 其中第一个配置的 2888 端口是从服务器连接到主服务器的端口
# 第二个 3888 端口是选举端口
Step 3: 在指定的数据文件目录下创建 myid 文件
# 在这里我们以 192.168.16.132 为例
# 由于在 配置文件中 dataDir 是 /usr/local/apache-zookeeper-3.6.1-bin/zkData
cd /usr/local/apache-zookeeper-3.6.1-bin/zkData
# 创建 myid 文件
vi myid
# 由于 192.168.16.132 对应的 host 为 zoo3,且 server.id 的 id 为 3 所以在myid 中输入的值为3
# 然后退出并保存
Step 4: 关闭防火墙服务 或者在防火墙上开放端口
# 在这里为了简便操作,我们选择关闭防火墙 (以 centOS 7 为例)
systemctl stop firewalld
Step5: 启动 Zookeeper 服务端
# 进入到 zookeeper 的 bin 目录下
cd /usr/local/apache-zookeeper-3.6.1-bin/bin
# 启动服务端
./zkServer.sh start
# 查看状态
./zkServer.sh status
看到以上结果,Mode 中显示当前服务器的角色时代表 zookeeper 集群搭建成功