Zookeeper系列(六)——Zookeeper集群搭建和配置说明

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Zookeeper系列(六)——Zookeeper集群搭建和配置说明

概述


本文主要简述如何搭建zookeeper集群。


安装步骤


1. 集群规划


zookeper集群至少需要3台服务器,并且强烈建议使用奇数个服务器。因为zookeeper通过半数机制来判断整个集群是否可用,也就是说集群中有一半以上的节点挂掉,集群才不可用。3个节点挂2个,认为已经挂掉,4个节点挂2个,也认为已经挂掉,所以奇数个服务器即可。

三台ZooKeeper服务器:

服务器地址 编号
10.100.1.24 1
10.100.1.13 2
10.100.1.14 3


2. 解压安装


1). 官网下载最新版本的安装包apache-zookeeper-3.8.0-bin.tar.gz

2). 分别上传到3台服务器的/opt/zookeer目录下

3). 解压安装包到/opt/zookeer目录下

tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz -C /opt/zookeeper/


3. 配置


1). 在/opt/zookeeper/apache-zookeeper-3.8.0-bin这个目录下创建 zkData

mkdir zkData

2).在zkData 目录下创建一个 myid 的文件, 在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)

vim myid

1671157418687.jpg

3). 复制/opt/zookeeper/apache-zookeeper-3.8.0-bin/conf 这个目录下的 zoo_sample.cfg 为zoo.cfg

cp zoo_sample.cfg zoo.cfg

4). 修改zoo.cfg文件, 修改数据存储路径,其他配置可以使用默认。

dataDir=/opt/zookeeper/apache-zookeeper-3.8.0-bin/zkData

zoo.cfg中配置说明

配置项 说明
tickTime=2000 心跳时间,默认2000毫秒
initLimit=10 zkserver中leader节点和follower节点初始通信时间,Leader和Follower初始连接时能容忍的最多心跳数(tickTime的数量)
syncLimit=5 zkserver中leader节点和follower节点同步通信时限,Leader和Follower之间通信时间如果超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。
dataDir 保存Zookeeper中的数据注意:默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认的tmp目录。
clientPort 客户端连接端口,通常不做修改。

5). zoo.cfg末尾增加如下集群相关配置

#######################cluster##########################
server.1=10.100.1.24:2888:3888
server.2=10.100.1.13:2888:3888
server.3=10.100.1.14:2888:3888

配置参数说明:

格式:server.A=B:C:D

  • A是一个数字,表示这个是第几号服务器;集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server。
  • B是这个服务器地址。
  • C是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口。
  • D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。


4. 同步上面操作到剩余服务器


注意:需要修改myid文件中的值为2和3。


5. 启动


1). 分别启动3台服务器的zookeeper

bin/zkServer.sh start

2). 查看状态

bin/zkServer.sh status

1671157448291.jpg

1671157457764.jpg

3).关停服务

bin/zkServer.sh stop


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
3月前
|
Docker 容器
在docker中安装zookeeper,并且阿里云服务器配置
在docker中安装zookeeper,并且阿里云服务器配置
206 1
|
22天前
|
存储 分布式计算 资源调度
Hadoop【环境搭建 04】【hadoop-2.6.0-cdh5.15.2.tar.gz 基于ZooKeeper搭建高可用集群】(部分图片来源于网络)
【4月更文挑战第1天】Hadoop【环境搭建 04】【hadoop-2.6.0-cdh5.15.2.tar.gz 基于ZooKeeper搭建高可用集群】(部分图片来源于网络)
51 3
|
13天前
|
存储 Java 网络安全
ZooKeeper【搭建 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
【4月更文挑战第10天】ZooKeeper【搭建 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
27 1
|
2月前
|
算法 Java Linux
zookeeper单机伪集群集群部署
zookeeper单机伪集群集群部署
86 0
|
2月前
|
消息中间件 存储 Kafka
Kafka【环境搭建 02】kafka_2.11-2.4.1 基于 zookeeper 搭建高可用伪集群(一台服务器实现三个节点的 Kafka 集群)
【2月更文挑战第19天】Kafka【环境搭建 02】kafka_2.11-2.4.1 基于 zookeeper 搭建高可用伪集群(一台服务器实现三个节点的 Kafka 集群)
140 1
|
3月前
|
Java Linux Spring
Zookeeper实现分布式服务配置中心
Zookeeper实现分布式服务配置中心
49 0
|
3月前
|
存储 安全 Nacos
使用KMS为MSE-Nacos敏感配置加密的最佳实践
本文主要介绍通过KMS密钥管理服务产生的密钥对敏感的AK等数据进行加密之后可以有效解决泄漏带来的安全风险问题,其次通过KMS凭据托管的能力直接将MSE的主AK进行有效管理,保障全链路无AK的业务体验,真正做到安全、可控。
92287 3
|
3月前
|
运维 监控 安全
MSE Nacos 配置变更审计平台使用指南
MSE Nacos 配置变更审计平台使用指南
|
3月前
|
网络协议 中间件 数据库
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
100 0
|
3月前
|
网络协议
Zookeeper学习系列【二】Zookeeper 集群章节之集群搭建
Zookeeper学习系列【二】Zookeeper 集群章节之集群搭建
34 0