ZK基本特性与基于Linux的ZK客户端命令行学习
- 4-1 zookeeper常用命令行操作
- 4-2 session的基本原理与create命令的使用
- 4-3 set与delete命令的使用
- 4-4 zk特性 – 理解watcher机制
- 4-5 父节点watcher事件
- 4-6 子节点watcher事件
- 4-7 watcher常用使用场景
- 4-8 权限acl详解,acl的构成-scheme与id
- 4-9 acl的构成-permissions
- 4-10 acl命令行world讲解
- 4-11 acl命令行auth讲解
- 4-12 acl命令行digest讲解
- 4-13 acl命令行ip讲解
- 4-14 acl之super超级管理员
- 4-15 acl的常用使用场景
- 4-16 zk四字命令 上
- 4-17 zk四字命令 下
4-1 zookeeper常用命令行操作
对于zookeeper来说,一个目录就是一个节点;
- ls
- ls2 和stat;
ls2就相当于ls和stat整合在一起的一个命令:
- get命令:
4-2 session的基本原理与create命令的使用
创建临时节点:
如果我们想要删除临时节点的话,那么我们可以关闭客户端,断开了之后,session失效,心跳收不到:
我们ctrl+c断开连接:
过一会,我们再重新进去,发现这个时候,临时节点已经没有了:
这个就是心跳机制和session超时;我们要很好的区分它;
我们再来看看顺序节点:
4-3 set与delete命令的使用
我们再进行获取一下,发现这个时候,值已经改变了:
set后面加上一个版本号,这个版本号一定是最新的版本号的时候,才能被更新:这个就是一个常见的乐观锁的使用方式
我们在修改和删除的时候,最好还是要加上版本号来进行操作,因为这样的话,可以做到一个乐观锁的效果;
4-4 zk特性 – 理解watcher机制
4-5 父节点watcher事件
这么几个会有watcher:
先使用get设置一个watch事件,然后在set设值的时候,就是会触发这个事件:
上面的这些事件也是跟父节点挂钩的;
4-6 子节点watcher事件
这个时候,删除也就可以触发watch事件了:
set子节点的话是不会触发watch事件:这个时候,就要把子节点当作是父节点来做:
这个是需要注意的:在修改的时候,必须要把子节点当作是父节点那样去操作,去设置watch事件,这样的话,在执行修改的时候才会去触发对应的事件:
4-7 watcher常用使用场景
当作触发器来使用:
4-8 权限acl详解,acl的构成-scheme与id
4-9 acl的构成-permissions
4-10 acl命令行world讲解
如果我们想要测试一下,那我们就必须要再创建一个子节点,然后再看看能不能进行删除:这个时候,就是没有权限进行删除:
其他的操作也是一样操作的;
4-11 acl命令行auth讲解
我们要先给注册一个用户,然后才能去使用:
存到数据库里面是通过密问的形式去存储的:
我们先把这个密码记下来,一会是要用到的:
Jz5tcvMZXTKQR6YnK3QK2z+9tq0=
当我们使用addauth digest ghl:ghl 命令来添加用户,那么接下来的操作都是在这个用户下面来进行操作的, 默认就是按照第一个用户来进行操作的:
4-12 acl命令行digest讲解
我们先退出当前的客户端来退出当前的用户;
因为没有这个异常,我们对其进行修改就是会出现异常:
4-13 acl命令行ip讲解
4-14 acl之super超级管理员
我们也可以看一下源码:
修改了文件之后,我们一定重启才能生效;