手记

Zookeeper简介

一、zk的数据模型:

zk的数据模型类似于linux的文件目录,每个节点称为znode。每个节点都会有自己的版本号,可以通过命令行来显示节点信息。每个zk节点存储的数据不宜过大。几k即可。说了这么多,太抽象了,直接动手操作。

  • 启动zk后,可以使用zk-cli.sh命令进行连接,连接成功后,会进入到如下的界面。

  • 然后执行命令ls /来查询当前zookeeper下所有的节点。如下这是我测试环境安装了kafka后生成的一些节点的结果,如果是新安装的zookeeper,应该只有zookeeper一个目录。如果你将其他服务注册到该zookeeper中,就能看到其他的新注册的节点了。


二、zk的的常用命令行命令:

上面已经知道如何登陆到zk的客户端,那么有哪些命令可以使用呢?当然,登陆到客户端以后,直接使用help命令是能看到提示信息的。共有如下命令


三、zk的watcher机制:

针对每个节点的操作,都会有一个监督者-watcher,可以理解为触发器,增删改的时候,就会触发watcher事件,但是zk中的watcher是一次的,触发后立即销毁。父节点、子节点的增删改都能触发watcher事件,针对不同类型的操作,触发的watcher事件也不同。事件类型有NodeCreated、NodeDataChanged、NodeDeleted等。可以作为触发器来使用。


四、zk的acl说明:

acl可以针对节点设置相关读写等权限,目的是为了保障数据安全性,权限permissions可以制定不同的权限范围以及角色。

zk的acl通过[scheme:id:permissions]来构成权限列表,scheme代表采用的某种权限机制,id代表允许访问的用户,permissions表示权限组合字符串。如下

权限字符串permissions缩写有:crdwa

create、read、delete、write、admin

0人推荐
随时随地看视频
慕课网APP