linux下zookeeper集群基础配置

本文详细介绍如何搭建ZooKeeper集群,包括下载安装、配置文件调整、启动服务等步骤,并解释了集群中leader、follower及observer的角色作用。

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

zookeeper下载稳定版

官网:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/

csdn:http://download.youkuaiyun.com/detail/shuai825644975/9755163


zookeeper集群里有三种角色:leader、follower、observer

zookeeper需要在所有的服务节点中选举出一个leader,然后让这个leader来负责管理集群。其它的服务节点则是follower。当leader故障时,zookeeper会从follower从重新选举一个leader出来管理集群。

observer角色和follower一样,但是不参与leader的选举,只是被动接收选举结果


配置参考:http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html#sc_RunningReplicatedZooKeeper


1、配置目录结构

三个服务节点文件夹,server1、server2、server3(因为需要选举,防止出现服务节点投票数一致的情况,节点数最少2n+1)

每个文件夹下data、logs和zookeeper的解压包



2、修改zoo.cfg配置文件

zookeeper的配置文件在zookeeper-3.4.9/conf/目录下

文件默认为zoo_sample.cfg,cp一份,修改名称为zoo.cfg,并修改文件



zoo.cfg文件属性

 #zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。

tickTime=2000

#集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。

initLimit=10

#集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。

syncLimit=5

#zookeeper保存数据的目录,默认情况下,zookeeper将写数据的日志文件也保存在这个目录里。

dataDir=/usr/java/zookeeper/server1/data

#zookeeper保存日志文件的目录。

dataLogDir=/usr/java/zookeeper/server1/logs

#客户端连接 zookeeper 服务器的端口,zookeeper 会监听这个端口,接受客户端的访问请求。

clientPort=2181


#server.N=[host]:[port_A]:[port_B]

#N 服务编号,对应dataDir配置路径下的myid文件(myid需要自己创建,并对应N赋唯一值);port_A 表示改服务节点和集群中leader通信的端口;port_B 表示当集群中leader异常后,其它服务节点会通过该节点互相通信选举出新的leader

server.1=XXX.XX.XX.XXX:2888:3888

server.2=XXX.XX.XX.XXX:2889:3889

server.3=XXX.XX.XX.XXX:2890:3890



3、配置myid

在dataDir配置路径下,创建myid文件,并赋唯一值1(1对应zoo.cfg中server.N的N值)



----------------------------------------------------------

2、3步骤操作完成后,再分别修改server2、server3节点的zoo.cfg文件(一般情况下只需要修改clientPort、dataDir、dataLogDir的value;server.N=XXX则和server1节点的配置保持一致);分别在server2/data/myid赋值2,server3/data/myid赋值3


4、分别启动zookeeper各服务节点

启动命令在zookeeper3.4.9/bin/目录下



当所有节点服务启动后,可以通过./zkServer.sh status查看节点角色



连接服务./zkCli.sh -server [host]:[port]



zookeeper保存数据的目录,默认情况下,zookeeper将写数据的日志文件也保存在这个目录里。

dataDir=/usr/java/zookeeper/server1/data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值