zookeeper basic

2019-05-11  本文已影响0人  币来币往

zookeeper的主要用来协同多个应用直接的合作。它通过暴露一些类似文件系统的API,让用户调用来定义自己的协同原则。
如下图所示,zookeeper维护一个类似树形结构的目录结构,其中每个节点称为一个znode, 其中叶子节点是具体数据。


image.png

用户要做的就是创建znode, 然后zookeeper来管理这些znode, 依次达到相互沟通的目的。

Zookeeper API

Zookeeper提供如下API来让用户创建和检查znode状态:

Znode 分类

znode可以分为永久性(persistent)和 短暂型(ephemeral)两种类型
其中 永久性的就是永远存在,直到通过delete命令删除;短暂型的znode,在创建它的client 关闭后就会自动被删除。
znode也可以使有顺序的znode(sequential znodes), 有序值的是我们创建znode的时候,系统会自动给他们加上一个序列化,这样我们就可以判断哪个znode先被创建,哪个后被创建了
命令如下:

监控znode变化

我们可以通过在命令后面加 true的方式来监控znode的变化
ls /tasks true 表示监控task子节点的变化,如果节点有增加和删除,则会收到通知,且该通知只会发送一次

Zookeeper编程

Zookeeper分为客户端和服务器端两块,服务器端启动后,客户端通过引入zookeeper的client library来和服务器端交互


image.png

Zookeeper安装

去官网http://zookeeper.apache.org下载最新的安装包,减压到指定目录即可
通过命令 bin/zkServer.sh start configfile 即可启动zookeeper server, 如果不指定config file则默认回去conf目录下面找zoo.cfg
bin/zkCli.sh 启动一个客户端,并与server连接
如果我们启动了多个server端机器,则可以通过 -server ip:port, ip:port的方式指定该客户端连接到哪台server上。

上一篇 下一篇

猜你喜欢

热点阅读