zookeeper集群环境搭建

本文深入解析Zookeeper,一种用于分布式系统协调的开源软件。它提供数据发布与订阅、负载均衡、命名服务、Master选举及分布式队列等功能。文章详细介绍了Zookeeper的特性,包括顺序一致性、原子性、可靠性和实时性,以及如何搭建和配置Zookeeper集群。

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

什么是zookeeper?

zookeeper是分布式数据一致性的解决方案。

zookeeper能做什么?

数据的发布与订阅(配置中心:disconf)

负载均衡(dubbo利用了zookeeper机制实现负载均衡)

命名服务

master选举(kafka,hadoop,hbase)

分布式队列   分布式锁

zookeeper的特性

顺序一致性:

从一个客户端发起的事务请求,最终会严格按照顺序被应用到zookeeper中

原子性:

所有的事务请求的处理结果在整个集群中的所有机器上应用情况是一致的,也就是说,要么整个集群中的所有机器都成功应用了某一事务,要么都不应用。

可靠性:

一旦服务器成功应用了某一个事务数据,并且对客户端做了响应,那么这个数据在整个集群中一定是同步并且保留下来的

实时性:

一旦一个事务被成功应用,客户端就能够立即从服务端读取到事务变更后的最新数据状态。(近实时)

下载

首先下载zookeeper.jar

链接:https://pan.baidu.com/s/1uW2rT_r4blRVyQKiD2UGVg 
提取码:884g 

搭建

1.解压zookeeper  

tar -zxvf zookeeper-3.4.10.tar.gz

2.cd 到 ZK_HOME/conf  , copy一份zoo.cfg  这里也可以把zoo_sample.cfg改名为zoo.cfg

cp  zoo_sample.cfg  zoo.cfg

3.cd 到bin下:sh zkServer.sh xxx 查看常用命令

4.启动服务./zkServer.sh start

5.启动客户端  sh zkCli.sh -server ip:port  

集群环境下zookeeper包含三种角色:

leader(领导者)follower(追随者)observer(观察者)

ovserver是一种特殊的zookeeper节点。可以帮助解决zookeeper的扩展性(如果大量客户端访问我们的zookeeper集群,需要增加zookeeper集群机器数量。从而增加zookeeper集群的性能。导致zookeeper写性能下降,zookeeper的数据变更需要半数以上服务器投票通过。造成网络消耗增加投票成本)

observer不参与投票,只接收投票结果。observer不属于zookeeper的关键部位。

配置集群

1.我这里是三台虚拟机,前两台修改conf下zoo.cfg配置文件,增加如下配置

第三台作为observer,修改conf下zoo.cfg,增加如下配置

server.id=host:port:port

id取值范围是1-255,用id来标识该机器在集群中的机器序号

2888是follower节点和leader节点交换信息的端口号

3181标识如果leader节点挂掉,需要一个端口来进行选举

2.zoo.cfg中有一个dataDir=/tmp/zookeeper,在这个目录下创建一个myid文件,myid只有一行就是当前服务器的id

3.启动服务

启动服务时如果失败,就到bin目录下看一下zookeeper.out,我这里就因为防火墙问题导致失败。

启动后查看下各服务器的角色:一个leader 一个follower 一个observer


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值