zookeeper由来、结构以及应用场景
  yyka2UPIbcp2 2023年11月02日 60 0

1 Zookeeper的由来

来源于雅虎研究院,意思是动物园管理员,借鉴了Google的一篇论文《The Chubby Lock Service For losely coupled distributed System》

  1. Yahoo 2010年
  2. Hadoop集群
  3. Hive
  4. Pig
  5. Hbase

2 zookeeper结构

Zookeeper旨在分布式应用中,提供可靠的、可扩展的、分布式的、可配置的协调机制来管理整个集群的状态

zookeeper由来、结构以及应用场景_服务器

知识点:

1,zookeeper有一个根节点 /(可以通过 ls /查看)

2,每一个节点都可以有自己的子节点

3,每一个节点称为znode节点

4,多个znode节点最终所形成称为znode树

5,每个znode节点都可以存储数据

6,zookeeper为了提供快速的数据访问,会将数据维系在内存中

7,zookeeper为了防止数据丢失,也会在磁盘上进行落地存储,存储的路径可以通过配置文件来指定(zookeeper/config/zoo.cfg下,dataDir=/home/software/zookeeper-3.4.7/tmp)

8,zk的所有操作指令,比如 查看、创建、更新、删除都是基于路径来操作的

9,zookeeper中的路径是具有全局唯一性的,所有可以基于这个特性来实现命名服务

3Zookeeper服务端指令

指令

说明

sh zkServer.sh start

启动zk服务的

sh zkServer.sh stop

停止zk服务

sh zkServer.sh restart

重启zk服务

sh zkServer.sh status

查看zk服务角色,有:

Standalone

Leader

Follower

Observer

sh zkCli.sh

进入zk客户端

4Zookeeper客户端指令

指令

说明

示例

ls

查看

ls  /  查看根路径

ls /park01 查看park01路径

create

创建

create /park02 ""

create /park02/node01  创建park02的子节点

get

获取指定节点信息

cZxid = 0x2   #创建此节点的事务id

ctime = Wed Jan 17 10:55:25 PST 2018 #创建此节点的时间戳

mZxid = 0x2 #修改此节点的事务id

mtime = Wed Jan 17 10:55:25 PST 2018 #修改此节点的时间戳

pZxid = 0x4

cversion = 1

dataVersion = 0

aclVersion = 0

ephemeralOwner= 0x0 #如果此节点不是临时节点,则为0

dataLength = 9#数据长度

numChildren = 1 #子节点数量

set

更新节点数据

set  /park01 hellozk

delete

删除子节点为空的节点

delete /park01

rmr

递归删除指定节点

rmr  /park02

quit(或ctrl+c)

退出客户端

create -e 

创建临时节点,当创建此节点的客户端下线时,节点被删除。

create -s

创建顺序节点,每次创建节点时,会跟上一个递增的顺序号

create -e -s

创建临时顺序节点

5Zookeeper的应用场景

5.1 集群管理

a,掌控集群服务器的数据

b,掌控集群服务器的地址

c,监控集群服务节点的运行状态,是正常运行还是宕机

5.2 统一命名服务

为集群中的每台服务器命名,便于管理。要求命名要具备全局唯一性

5.3 统一配置管理:使得集群全部或部分节点的配置信息保持一致

5.4 实现集群内部的主备切换,从而避免单点故障问题

5.5 实现数据的订阅和发布

5.6 分布式环境下的协调通知 

5.7 实现分布式锁服务。在分布式环境下之前所学的同步代码块、重入锁机制等不能满足,因为是针对一台服务器内部的多个线程而言。所以要实现分布式锁,需要用新的技术和思路来实现

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  eHipUjOuzYYH   2023年12月07日   27   0   0 数据乐观锁redis
  jnZtF7Co41Wg   2023年12月09日   27   0   0 客户端服务端数据
  Yoru5qB4TSKM   2023年12月10日   39   0   0 服务器重启IP