ZooKeeper伪集群模式

本文介绍了如何在单台机器上配置Zookeeper的伪集群模式,包括端口号与dataDir的设定,myid文件的创建,以及详细解释了zoo.cfg配置参数如initLimit、syncLimit和server.A=B:C:D的含义,确保每个Zookeeper实例的唯一性和集群通信的正常进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

伪集群模式:就是在一台物理机上运行多个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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值