Zookeeper安装

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 1  Zookeeper基本框架Zookeeper集群主要角色有Leader,Learner(Follower,Observer(当服务器增加到一定程度,由于投票的压力增大从而使得吞吐量降低,所以增加了Observer。

1  Zookeeper基本框架

Zookeeper集群主要角色有Leader,Learner(Follower,Observer(当服务器增加到一定程度,由于投票的压力增大从而使得吞吐量降低,所以增加了Observer。)以及client:

Leader:领导者,负责投票的发起和决议,以及更新系统状态

Follower:接受客户端的请求并返回结果给客户端,并参与投票

Observer:接受客户端的请求,将写的请求转发给leader,不参与投票。Observer目的是扩展系统,提高读的速度。

Client:客户端,想Zookeeper发起请求。

Zookeeper的基本框架图如下

1.2 zookeeper集群节点个数

zookeeper节点部署的越多,服务的可靠性也就越高。当然建议最好是部署奇数个,偶数个不是不可以。但是zookeeper集群是以宕机个数过半才会让整个集群宕机的,所以奇数个集群更佳,最好部署3,5,7个zookeeper节点。本次实验我们是以3个节点进行(centos6)。


二、zookeeper安装

2.1安装jdk

2.2安装zookeeper

[root@localhost ~]# cd /usr/local/

[root@localhost local]# wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz

[root@localhost local]# tar -xf zookeeper-3.4.8.tar.gz && rm -rf zookeeper-3.4.8.tar.gz && mv zookeeper-3.4.8 zookeeper && cd zookeeper && cp conf/zoo_sample.cfg conf/zoo.cfg

把zookeeper加入到环境变量,如下:

[root@localhost zookeeper]# vim /etc/profile


执行source命令使刚刚修改的环境生效,如下:

[root@localhost zookeeper]# source /etc/profile

[root@localhost zookeeper]# env


2.3修改zookeeper配置文件

[root@localhost zookeeper]# vim /usr/local/zookeeper/conf/zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/zookeeper/data

dataLogDir=/usr/local/zookeeper/logs

server.1= 192.168.1.2:2888:3888

server.2= 192.168.1.3:2888:3888

server.3= 192.168.1.4:2888:3888

clientPort=2181


配置文件参数说明:

tickTime这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳。

initLimit这个配置项是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。

当已经超过10个心跳的时间(也就是tickTime)长度后 zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20秒。

syncLimit这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。

dataDir顾名思义就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存在这个目录里;

clientPort这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求;

server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。

2.4创建相关目录

[root@localhost zookeeper]# mkdir -p /usr/local/zookeeper/{data,logs}

2.5创建ServerID标识

除了修改zoo.cfg配置文件外,zookeeper集群模式下还要配置一个myid文件,这个文件需要放在dataDir目录下。

这个文件里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A),在zoo.cfg文件中配置的dataDir路径中创建myid文件。

在192.168.1.2服务器上创建myid文件,并设置为1,同时与zoo.cfg文件里面的server.1对应,如下:

echo "1" > /usr/local/zookeeper/data/myid

在192.168.1.3服务器上创建myid文件,并设置为2,同时与zoo.cfg文件里面的server.2对应,如下:

echo "2"  > /usr/local/zookeeper/data/myid

在192.168.1.4服务器上创建myid文件,并设置为2,同时与zoo.cfg文件里面的server.2对应,如下:

echo "3" > /usr/local/zookeeper/data/myid

三、启动zookeeper,查看集群

启动:

[root@localhost zookeeper]# bin/zkServer.sh start


注意:在启动第一台zookeeper的时候可能会报错,等三台zookeeper全部启动完成之后就不会报错了。

查看状态:

[root@localhost zookeeper]# bin/zkServer.sh status


四、连接zookeeper集群

[root@localhost zookeeper]# bin/zkCli.sh -server 192.168.1.3:2181


安装完成。。。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
8月前
|
Java Shell Linux
Zookeeper单机&集群安装
Zookeeper单机&集群安装
66 1
|
8月前
|
存储 消息中间件 负载均衡
Zookeeper基础入门与安装部署
Zookeeper基础入门与安装部署
98 0
|
8月前
|
Docker 容器
在docker中安装zookeeper,并且阿里云服务器配置
在docker中安装zookeeper,并且阿里云服务器配置
319 1
|
12天前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
3月前
|
存储 负载均衡 监控
dubbo学习一:zookeeper与dubbo的关系,下载安装启动zookeeper(解决启动中报错)
这篇文章是关于Apache Dubbo框架与Zookeeper的关系,以及如何下载、安装和启动Zookeeper的教程,包括解决启动过程中可能遇到的报错问题。
114 3
dubbo学习一:zookeeper与dubbo的关系,下载安装启动zookeeper(解决启动中报错)
|
5月前
|
Docker 容器
Docker 安装 Zookeeper
Docker 安装 Zookeeper
139 2
|
6月前
|
消息中间件 存储 负载均衡
zookeeper 特点、使用场景及安装,配置文件解析
zookeeper 特点、使用场景及安装,配置文件解析
94 2
|
5月前
|
Java Linux Docker
【zookeeper 第二篇章】windows、linux、docker-compose 安装 zookeeper
本文介绍Zookeeper在不同环境下的安装方法。Linux安装需备好JDK,下载并解压Zookeeper后,复制`zoo_sample.cfg`为`zoo.cfg`,最后运行`zkServer.sh start`启动服务。Windows安装类似,通过`zkServer.bat`启动。使用Docker-Compose则需编写配置文件,并通过`docker-compose up -d`后台启动容器。
89 0
|
5月前
|
开发工具
部署安装zookeeper集群
部署安装zookeeper集群
|
7月前
|
Windows
zookeeper-3.8.0安装(Windows)
zookeeper-3.8.0安装(Windows)
371 0

热门文章

最新文章