【分布式】Zookeeper 使用环境搭建

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【1月更文挑战第25天】【分布式】Zookeeper 使用环境搭建

Apache ZooKeeper(简称ZooKeeper)是一个分布式协调服务,主要用于构建分布式系统和应用。ZooKeeper 提供了一个高度可靠的协调基础,可以帮助应用程序进行分布式锁、配置管理、命名服务、分布式队列等功能。以下是 ZooKeeper 的主要特点和用途:

主要特点:

  1. 分布式协调: ZooKeeper 提供了一致性服务,允许分布式系统中的各个节点通过共享信息来协调和同步。
  2. 命名服务: ZooKeeper 提供了一个分层的命名空间,允许开发者注册、查找和维护分布式系统中的节点信息。
  3. 分布式锁: ZooKeeper 支持分布式锁的实现,帮助应用程序进行资源访问的协同控制。
  4. 配置管理: ZooKeeper 可以用于存储和管理分布式系统的配置信息,当配置变化时,通知订阅者。
  5. 分布式队列: ZooKeeper 提供了临时有序节点,可以用来实现分布式队列,确保任务的有序执行。
  6. Watcher机制: ZooKeeper 提供了Watcher机制,允许客户端在节点的创建、删除、数据修改等事件发生时接收通知。
  7. 高可用性: ZooKeeper 采用多节点(集群)部署,可以容忍部分节点的故障,提供高可用性。
  8. 原子性操作: ZooKeeper 提供原子性的更新操作,确保数据的一致性和可靠性。

应用场景:

  1. 分布式系统协调: ZooKeeper 在构建分布式系统时,用于协调各个节点的工作,确保系统的一致性。
  2. 分布式锁: 开发者可以利用 ZooKeeper 实现分布式锁,以协调多个节点对共享资源的访问。
  3. 配置管理: ZooKeeper 可用于存储和管理分布式系统的配置信息,当配置发生变化时,通知相关节点。
  4. 命名服务: 在分布式系统中,可以使用 ZooKeeper 作为命名服务,注册和发现节点信息。
  5. 分布式队列: 利用 ZooKeeper 的临时有序节点特性,可以构建分布式队列,确保任务的有序执行。
  6. 选举算法: ZooKeeper 通常用于实现分布式系统中的领导者选举算法,确保系统中只有一个节点担任领导者。

总体而言,ZooKeeper是一个强大的工具,可以帮助开发者解决分布式系统中的一系列问题,提供了可靠的分布式协调服务。在实际应用中,需要根据具体的需求和场景来合理使用 ZooKeeper。


image.png



在安装Zookeeper之前需要确保服务器上安装了JDK 8及以上版本。

https://zookeeper.apache.org/

下载Zookeeper,并上传到服务器进行安装:

https://zookeeper.apache.org/releases.html#download

下载地址:

https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz

解压并配置Zookeeper

tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
mkdir /opt/zookeeper
mv apache-zookeeper-3.7.1-bin /opt/zookeeper/

配置Zookeeper

Zookeeper的安装conf目录下,这个zoo_sample.cfg是一个未生效的配置文件,只有配置文件名为zoo.cfg才是一个生效的配置文件。

这里复制这个配置文件并改名为zoo.cfg,并修改这个配置文件中的Zookeeper的数据目录配置项:

cp zoo_sample.cfg zoo.cfg

Zookeeper安装目录下创建数据库目录:

mkdir zkdata
dataDir=/opt/zookeeper/apache-zookeeper-3.7.1-bin/zkdata

配置完成之后启动Zookeeper,进入bin目录:

./zkServer.sh start

如果需要停止Zookeeper需要执行:

./zkServer.sh stop

查看当前Zookeeper节点状态:

./zkServer.sh status
相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
15天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
30 2
|
3月前
|
消息中间件 Java 网络安全
JAVAEE分布式技术之Zookeeper的第一次课
JAVAEE分布式技术之Zookeeper的第一次课
70 0
|
1月前
|
监控 NoSQL Java
Zookeeper分布式锁
Zookeeper分布式锁
90 1
|
1月前
|
消息中间件 存储 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
|
2月前
|
Java Linux Spring
Zookeeper实现分布式服务配置中心
Zookeeper实现分布式服务配置中心
48 0
|
2月前
|
存储 分布式计算 Hadoop
ZooKeeper初探:分布式世界的守护者
ZooKeeper初探:分布式世界的守护者
64 0
|
2月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
298 0
|
3月前
|
监控 前端开发 Java
JAVAEE分布式技术之Zookeeper技术
JAVAEE分布式技术之Zookeeper技术
16 0
JAVAEE分布式技术之Zookeeper技术
|
3月前
|
NoSQL 测试技术 Redis
Zookeeper实现分布式锁
ZooKeeper是一个分布式协调服务,其中提供的序列化、持久化、有层次的目录结构使得它非常适合用于实现分布式锁。在ZooKeeper中,分布式锁通常通过临时有序节点实现
|
1月前
|
NoSQL 算法 安全
Redlock 算法-主从redis分布式锁主节点宕机锁丢失的问题
Redlock 算法-主从redis分布式锁主节点宕机锁丢失的问题
155 0