ZooKeeper伪集群模式

伪集群模式:就是在一台物理机上运行多个Zookeeper 实例

在一台机器上部署了3个server,要满足以下条件
1. 端口号不能冲突,除了clientPort不同之外,
2. dataDir也不同。
3. 创建myid, 在dataDir所对应的目录中创建myid文件来指定对应的Zookeeper服务器实例。

安装部署

1.下载解压

解压到目录:/usr/local/services/zookeeper/

2.创建配置文件

这里写图片描述
zoo1.cfg配置如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk/data_1
clientPort=2181
dataLogDir=/usr/local/zk/logs_1

server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389

zoo2.cfg配置如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk/data_2
clientPort=2182
dataLogDir=/usr/local/zk/logs_2

server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389

zoo3.cfg配置如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk/data_3
clientPort=2183
dataLogDir=/usr/local/zk/logs_3

server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389

配置完cfg文件之后,在data日志路径下添加myid,并将对应的id写进配置文件
这里写图片描述

3.启动集群
./zkServer.sh stop ../conf/zoo1.cfg 
./zkServer.sh stop ../conf/zoo2.cfg
./zkServer.sh stop ../conf/zoo2.cfg

这里写图片描述

4.启动结果

这里写图片描述

使用命令 ./zkServer.sh status ../conf/zoo1.cfg 查看状态

[root@localhost bin]# ./zkServer.sh status ../conf/zoo1.cfg 
ZooKeeper JMX enabled by default
Using config: ../conf/zoo1.cfg
Mode: follower
[root@localhost bin]# ./zkServer.sh status ../conf/zoo2.cfg 
ZooKeeper JMX enabled by default
Using config: ../conf/zoo2.cfg
Mode: follower
[root@localhost bin]# ./zkServer.sh status ../conf/zoo3.cfg 
ZooKeeper JMX enabled by default
Using config: ../conf/zoo3.cfg
Mode: leader

集群配置说明

(1) initLimit

此配置表示,允许follower(相对于Leaderer言的“客户端”)连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。

(2) syncLimit

此配置项表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。

(3) server.A=B:C:D

A:其中 A 是一个数字,表示这个是服务器的编号;
B:是这个服务器的 ip 地址;
C:Leader选举的端口;
D:Zookeeper服务器之间的通信端口。

(4) myid和zoo.cfg

除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面就有一个数据就是 A 的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。

猜你喜欢

转载自blog.csdn.net/yangsnow_rain_wind/article/details/80746292