当前位置: 首页 > article >正文

Ubuntu下安装Zookeeper集群

Zookeeper集群是一个开源的分布式协调服务系统,它由Apache软件基金会维护,旨在为分布式应用提供一致性和可靠性的服务。

在Zookeeper集群中,服务器可以扮演三种角色——领导者(Leader)、跟随者(Follower)和观察者(Observer,部分版本或配置中可能不包含)。领导者负责处理客户端的写请求和集群内部的调度,跟随者则处理读请求并同步领导者的数据,观察者类似于跟随者,但不参与投票过程。

Zookeeper集群通过ZAB(Zookeeper Atomic Broadcast)协议保证数据的一致性。客户端的写请求首先发送给领导者,领导者再将请求广播给所有跟随者,当大多数跟随者确认后,领导者才将请求应用到自己的数据副本上,并通知跟随者更新数据。

跟随者会定期从领导者同步数据,以保持数据的一致性。这种机制确保了即使领导者发生故障,集群也能迅速恢复服务。

Zookeeper被广泛应用于配置管理服务注册与发现分布式锁集群管理命名服务队列管理。

1、准备Ubuntu主机

我用VMware跑了两个Ubuntu系统,来模拟Zookeeper集群的主机和从机。两台虚拟机的主机名分别为demo1、demo2,IP地址分别为192.168.23.130、192.168.23.131。在每台虚拟机上需要分别配置好/etc/hosts文件和/etc/hostname文件,如下图所示:

在准备VMware虚拟机时,我遇到了复制后的Ubuntu虚拟机网卡失效的问题,解决方法见博文:VMware复制Ubuntu虚拟机后网卡失效的问题-CSDN博客

2、安装Zookeeper

下载地址:Apache Download Mirrors

下载pache-zookeeper-3.9.2-bin.tar.gz

解压:tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz -C ~/training/

3、配置Zookeeper集群

1)、配置Zookeeper环境变量:

> vi ~/bashrc, 在最下面添加:

ZOOKEEPER_HOME=/home/worker/training/apache-zookeeper-3.9.2-bin
export ZOOKEEPER_HOME
PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
 

2)、配置conf/zoo.cfg:

分别配置两台虚拟机的zoo.cfg:

dataDir=/home/worker/training/apache-zookeeper-3.9.2-bin/tmp/zookeeper

clientPort=2181

server.1=demo1:2888:3888
server.2=demo2:2888:3888

3)、配置myid:

/home/worker/training/apache-zookeeper-3.9.2-bin

mkdir /tmp/zookeeper

touch /tmp/zookeeper/myid

echo 1 > /tmp/zookeeper/myid

在第一台虚拟机中myid为1,第二台虚拟机中myid为2.

5、启动zookeeper

分别启动两台虚拟机上的Zookeeper:

./bin/zkServer.sh start

6、查看Zookeeper集群状态:

./bin/zkServer.sh status

从下图可见:一台虚拟机的状态时leader,另一台状态为follower。


http://www.kler.cn/a/331439.html

相关文章:

  • imu相机EKF
  • git remote -v(--verbose)显示你的 Git 仓库配置的远程仓库的详细信息
  • VUE3+django接口自动化部署平台部署说明文档(使用说明,需要私信)
  • 基于蓝牙通信的手机遥控智能灯(论文+源码)
  • 深入理解ER模型:数据库设计的核心工具与应用
  • Springboot logback 日志打印配置文件,每个日志文件100M,之后滚动到下一个日志文件,日志保留30天(包含traceid)
  • nginx的访问控制
  • 索尼MDR-M1:超宽频的音频盛宴,打造沉浸式音乐体验
  • Spring Boot技术交流平台的设计与实践
  • SPI通信——FPGA学习笔记14
  • 状态码(204)的使用场景
  • 性能测试学习1:性能测试的理论与目的,与功能测试的区别
  • K8s域名解析方案CoreDNS(K8s Domain Name Resolution Solution CoreDNS)
  • QT-自定义信号和槽对象树图形化开发计算器
  • Spring1~~~
  • YOLOv1代码复现(论文复现)
  • 梦幻西游端游如何查看挂机进度,GameViewer远程随时手机畅玩梦幻西游
  • linux-CMake
  • 【Java】酒店管理系统
  • ComfyUI基本使用方法和常用插件
  • CentOS进行ICMP洪水测试并TShark抓包:完整指南
  • Java多线程在单体、微服务、服务网格与云原生架构中的理解与线程安全保障:总结与对比
  • 深入掌握 Qt 中的数据库操作:从基础到高级技巧
  • 【大数据】Doris 数据库与表操作语法实战详解
  • 【Unity踩坑】Unity更新Google Play结算库
  • 力扣 简单 111.二叉树的最小深度