【分布式】zookeeper 入门

本文介绍了Zookeeper的基础知识,包括其功能、安装步骤、ZKshell操作命令、Znode、Watcher、ACL和会话概念。通过编程示例展示了如何连接、读取和写入数据。此外,探讨了Zookeeper在集群管理和服务注册中的应用。
摘要由CSDN通过智能技术生成

目录

前言

1.功能简介

2.安装

3.ZKshell操作命令

4.基础概念

5.编程demo

5.1 连接到ZooKeeper

5.2 读取操作

5.3 写操作

6.数据一致特点

7.应用场景实例

7.1 集群管理


前言

zookeeper主要用于协调分布式服务、 配置维护、组合管理和命名服务,通过使用类似于文件操作系统的目录结构树来维护元数据。参考官网 https://zookeeper.apache.org/

本文主要介绍zk的主要功能,命令行、数据结构和Java API编程demo

1.功能

集群管理 作为集群的入口,可以查找集群的存活主机列表
服务注册

dubbo zk作为注册中心,服务提供者将服务注册到Zookeeper,

客户端在调用服务之前先到Zookeeper中查找服务,再调用服务。

分布式锁 在多个主机并发捞取任务,为了仅一台及其执行,通过获取分布式锁控制仅一台及其执行任务
配置文件集中管理 统一管理分布式环境中的配置文件
...... ......

2.安装

从官方下载后, 解压后即可使用

  1. 服务配置 /${安装路径}/zookeeper-3.4.14/conf/zoo.cfg,可以配置如clientPort=2181
  2. 服务启动 cd /${安装路径}/soft/zookeeper-3.4.14/bin &&sh zkServer.sh start
  3. 客户端连接 sh zkCli.sh -server localhost:2181

3.ZKshell操作命令

通过sh /${安装路径}/soft/zookeeper-3.4.14/bin/zkCli.sh -server localhost:2181 可以进入zookeeper命令行模式(类似于mysql和redis 客户端连接)

其实ZK就是一个树形数据结构,存放在内存汇总,提供了API可以对这颗树进行查找节点、修改节点的值等等操作。

追根到底就是对数据的增删改查

ZooKeeper's Hierarchical Namespace
树形数据结构
命令 操作
ls path [watch]

查看路径的子节点,

不过不存在返回Node does not exist: /test

create path data acl 创建节点,父path必须存在 类似与创建一个目录
get path [watch] 去一个节点上存储的data值
set path data [version] 设置节点的值
delete path [version] 删除节点 子节点为空
deleteall path 删除所有包括子节点
stat path [watch] 查看节点描述元信息

4.基础概念

Znode数据节点、Watcher监听器、ACL访问控制立标、会话(Session)

4.1 Znode

ZooKeeper's Hierarchical Namespace
树形数据结构

上节有说zk是基于一个树形数据结构,我们都知道树由各个树节点组成,数据节点一一ZNode。如上图,结构特别想linux操作系统的文件系统设计,区别就是zk的将该树存储在内存,而linux存储在磁盘。存储在内存的问题就是会在zk服务重启后原来的数据易丢失,及持久化问题

每个节点上都会保存自己的数据内容,同时还会保存一系列属性信息,Zxid(Transaction Id),version

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值