zookeeper分布式部署

zookeeper分布式部署

1、准备

第一步:准备3台主机,ip地址如下:

  • server1:192.168.7.11
  • server2:192.168.7.12
  • server3:192.168.7.13

第二步:分别关闭每台服务器的防火墙

systemctl stop firewalld
systemctl disable firewalld

2、开始配置

第一步:确认zookeeper安装路径为 /opt/zookeeper/

第二步:确认主机的zookeeper配置文件 /opt/zookeeper/conf/zoo.cfg

数据文件目录:

dataDir=/opt/zookeeper/zkData

第三步:配置服务器编号

  • 在数据文件目录中新建一个 myid 文件,并在文件中添加对应的server编号
cd /opt/zookeeper/zkData
touch myid
echo 1 > myid

server1的编号为 1 ,其余两条的编号为2和3

第四步:配置zoo.cfg文件

向配置文件中增加如下内容:

server.1=192.168.7.11:2888:3888
server.2=192.168.7.12:2888:3888
server.3=192.168.7.13:2888:3888
  • 配置参数解读 server.A=B:C:D
    • A:一个数字表示第几号服务器,myid 文件中的值就是A的值
    • B:服务器ip地址
    • C:集群中与leader服务器交换信息的端口
    • D:选举时专用端口;万一集群中的leader挂了,需要一个端口用来重新选举

第五步:配置其余两条服务器

在另外两条服务器上操作第三步和第四步

Server2:

cd /opt/zookeeper/zkData
touch myid
echo 2 > myid
vi /opt/zookeeper/conf/zoo.cfg
# 添加如下内容
server.1=192.168.7.11:2888:3888
server.2=192.168.7.12:2888:3888
server.3=192.168.7.13:2888:3888

Server3:

cd /opt/zookeeper/zkData
touch myid
echo 3 > myid
vi /opt/zookeeper/conf/zoo.cfg
# 添加如下内容
server.1=192.168.7.11:2888:3888
server.2=192.168.7.12:2888:3888
server.3=192.168.7.13:2888:3888

3、集群操作

分别启动三台服务器的zookeeper

cd /opt/zookeeper/bin
./zkServer.sh start

三台服务器分别启动时的状态

Zookeeper集群采用半数机制:集群中半数以上机器存活,集群可用。所以zookeeper适合安装奇数台服务器。

1、 启动第一台服务器后,使用 ./zkServer.sh status 命令查看状态是显示未启动

[root@server1 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
[root@server1 bin]# jps
1464 Jps
1164 QuorumPeerMain

2、 启动第二台服务器后,分别查看两台服务状态

此时server2模式为leader(主),server1模式为follower(从)

[root@server2 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
[root@server1 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower

3、 再启动第三台服务器,并检查状态

此时server3模式也为follower(从)

[root@server3 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
上一篇:JAVA之搭建zookeeper集群时候遇到的问题


下一篇:我的Spring Boot学习记录(二):Tomcat Server以及Spring MVC的上下文问题