Zookeeper(二)Zookeeper安装及常用命令总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Zookeeper(二)Zookeeper安装及常用命令总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2859字,纯文字阅读大概需要5分钟。
内容图文
![Zookeeper(二)Zookeeper安装及常用命令总结](/upload/InfoBanner/zyjiaocheng/1152/886ee2be449a4f628b83c0c3e1ce3d22.jpg)
一、Linux环境安装Zookeeper
话不多说,直接上命令,按步骤执行即可~
1
、查看JDK版本【Zookeeper需要Java环境】
java ‐version
2
、下载并解压Zookeeper
wget http:
//archive.apache.org/dist/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
3
、重命名配置文件zoo_sample.cfg【备份原来的配置文件】
cd apache
-zookeeper-3.5.8-bin/conf/
cp zoo_sample.cfg zoo.cfg
4
、启动Zookeeper
bin
/zkServer.sh start conf/zoo.cfg& #最后的‘&‘表示以守护线程的方式启动
5、连接Zookeeperbin/zkCli.sh -server IP地址:2181 #默认端口为2181
二、Zookeeper的常用操作
创建节点
1、创建节点的命令格式
create [‐s] [‐e] [‐c] [‐t ttl] 目录 [data] [acl]
??:create /node1
- -s : 顺序节点
- -e : 临时节点
- -c : 容器节点
- -t : 可以给节点添加过期时间,默认禁用,需要通过系统参数启用
- data :节点值
- acl :权限控制【下面会介绍】
中括号为可选项,没有则默认创建持久化节点。
PS:Zookeeper没有相对路径的说法,任何对节点的操作都需要以/开头。
PS:临时节点不能创建子节点
PS:容器节点主要用来容纳字节点,如果没有给其创建子节点,容器节点表现和持久化节点一样,如 果给容器节点创建了子节点,后续又把子节点清空,容器节点也会被zookeeper删除。【分布式锁的父节点一般就是容器节点,因为当容器节点如果没有子节点(标识锁定的线程)时,会自动删除,不需要额外维护】
查看节点值
1
、查看节点
get
/node1 #查看/node1节点的值
ls / #查看/下的所有节点
修改节点
1
、修改节点
set
/node1 ‘this is value‘ #设置/node1节点的值为this is value
set -v 2 /node1 ‘new value‘ #带上版本号去修改/node1节点的值为new value【带版本号可以实现类似于乐观锁的功能】
查看节点状态
1
、查看节点状态
stat
/node1
- cZxid :创建znode的事务ID。
- mZxid :最后修改znode的事务ID。
- pZxid :最后添加或删除子节点的事务ID【子节点列表发生变化才会发生改变】。
- ctime :znode创建时间。
- mtime :znode最近修改时间。
- dataVersion :znode的当前数据版本【修改数据时可以用上这个字段实现乐观锁,与数据乐观锁类似的使用方式】。
- cversion :znode的子节点结果集版本【一个节点的子节点增加、删除都会影响这个版本】。
- aclVersion :表示对此znode的acl版本。
- ephemeralOwner :znode是临时znode时,表示znode所有者的sessionID。 如果 znode不是临时znode,则该字段设置为零。
- dataLength :znode数据字段的长度。
- numChildren :znode的子znode的数量。
三、事件监听机制
针对节点的监听:由特定的事件触发,对应的监听会被移除。PS:事件监听都是一次性的。
使用方法:
get ‐w /path
#注册监听的同时获取数据
stat ‐w /path #对节点进行监听,且获取元数据信息
Zookeeper事件类型:
- None :连接建立事件
- NodeCreated :节点创建
- NodeDeleted :节点删除
- NodeDataChanged :节点数据变化
- NodeChildrenChanged :子节点列表变化
- DataWatchRemoved :节点监听被移除
- ChildWatchRemoved :子节点监听被移除
四、ACL 权限控制
定义:权限控制,可以控制节点的读写操作,保证数据的安全性。
组成: 权限模式(Scheme)、授权对象(ID)、权限信息(Permission)
Scheme(权限模式)
用来设置ZooKeeper服务器进行权限验证的方式。ZooKeeper 的权限验证方式大体分为两种类型:
范围验证
定义: 针对一个IP或者一段IP地址授予某种权限。
举个??:比如我们可以让一个IP地址为“120.24.58.161”的机器对服务器上的某个数据节点具有写入的权限。或者也可以通过“120.24.58.162/180”给一段IP地址的机器赋权。
口令验证
定义:使用用户名和密码验证的方式。
在ZooKeeper中这种验证方式是Digest认证,而Digest这种认证方式首先在客户端传送“username:password”这种形式的权限表示符后,ZooKeeper服务端会对密码部分使用 SHA-1和BASE64算法进行简单加密,以保证安全性。
world模式
定义:默认方式,相当于全世界都能访问。
auth
定义:不使用任何id,表示任何经过身份验证的用户【能登录就行~】。
授权对象(ID)
定义:把权限赋予谁
举个??:如果我们选择采用IP方式,使用的授权对象可以是一个IP地址或IP地址段。
举个??:如果使用Digest或Super方式,则对应于一个用户名。
PS: World 模式,是授权系统中所有的用户。
权限信息(Permission)
权限就是指我们可以在数据节点上执行的操作种类,Zookeeper中已经定义好的权限有 5 种:
- 创建权限(c: create):授予权限的对象可以在数据节点下创建子节点。
- 更新权限(w: wirte):授予权限的对象可以更新该数据节点。
- 读取权限(r: read):授予权限的对象可以读取该节点的内容以及子节点的列表信息。
- 删除权限(d: delete):授予权限的对象可以删除该数据节点的子节点。
- 管理者权限(a: admin):授予权限的对象可以对该数据节点体进行ACL权限设置。
常用命令
1、获取/
node1节点的acl权限
getAcl
/node1
2、修改/
node1节点的acl权限
setAcl
/node1 ip:127.0.0.1:cdrwa #ip的形式设置
原文:https://www.cnblogs.com/riches/p/15124806.html
内容总结
以上是互联网集市为您收集整理的Zookeeper(二)Zookeeper安装及常用命令总结全部内容,希望文章能够帮你解决Zookeeper(二)Zookeeper安装及常用命令总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。