Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器

章节内容

上节我们完成了:


ZNode的基本介绍

ZNode节点类型的介绍

事务ID的介绍

ZNode实机测试效果

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。

之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。


2C4G 编号 h121

2C4G 编号 h122

2C2G 编号 h123

Wacher 机制

ZooKeeper 使用Watcher机制实现分布式数据的发布/订阅功能。

一个典型的发布/订阅模型定义了一对多的订阅关系,能够让多个订阅者同时监听一个主题对象,当这个主题对象自身状态变化时,会通知所有订阅者,使他们能够做出相应的处理。

ZooKeeper 的 Watcher 机制主要包括:


客户端线程

客户端 Watcher Manager

ZooKeeper服务器

Watcher 机制的工作原理

注册节点

客户端可以在读取或获取某个节点的数据时,选择注册一个 Watcher。

可以通过 getData(), getChildren(), 和exists() 等方法来注册 Watcher。

注册 Watcher 时,客户端会发送一个请求到 ZooKeeper 服务器,服务器将这个 Watcher 记录在相应节点的 Watcher 列表中。


触发节点

当节点发生变化时(例如节点的数据变化、节点的创建或删除、子节点的变化等),ZooKeeper 服务器会触发相应节点上的 Watcher。

Watcher 触发是一次性的。当一个 Watcher 被触发后,它就不再活跃,如果客户端需要继续监视该节点,则需要重新注册 Watcher。


进行通知

被触发的 Watcher 会向客户端发送一个事件通知(WatchedEvent)。该事件包含了事件的类型(如节点创建、删除或数据变化)和受影响的节点路径。

客户端在接收到通知后,可以根据需要采取相应的行动,例如重新获取节点数据或重新注册 Watcher。


Watcher特点

一次性:Watcher 机制是一次性的,客户端需要在每次事件发生后重新注册 Watcher 以继续监视节点。

异步通知:Watcher 事件是异步通知的,这意味着客户端注册 Watcher 后不会阻塞等待事件的发生,而是通过事件通知机制处理事件。

轻量级:Watcher 是轻量级的,不会对 ZooKeeper 服务器带来显著的性能负担。

Watcher 使用场景

配置管理:在分布式系统中,多个服务可能依赖同一个配置。通过 Watcher 机制,可以实现配置的动态更新,当配置变更时,所有依赖该配置的服务都能及时收到通知并进行更新。

服务发现:在服务发现机制中,客户端可以通过 Watcher 监视服务节点的变化,当有新服务加入或服务下线时,客户端能够及时感知并更新服务列表。

分布式锁:在实现分布式锁时,可以使用 Watcher 机制监控锁节点的状态,当锁被释放时,等待的客户端可以收到通知并尝试获取锁。

创建节点

永久节点

create /wzk 123456
• 1

顺序节点

create -s /wzk-order 654321
• 1

临时节点

create -e /wzk-temp 123123

读取节点

列出节点

ls /
• 1

查看数据

get /wzk
• 1

更新节点

set /wzk-temp 111222
• 1

删除节点

delete /wzk-temp
• 1

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
132 6
|
1月前
|
SQL 机器学习/深度学习 分布式计算
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
57 1
|
1月前
|
消息中间件 分布式计算 监控
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
59 6
|
30天前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
38 4
|
1月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
53 3
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
31 3
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
55 3
|
1月前
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
351 1
|
23天前
|
弹性计算 网络协议 Linux
云服务器评估迁移时间与测试传输速度
云服务器评估迁移时间与测试传输速度
|
6天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
39 9
下一篇
无影云桌面