前言
记录下安装zookeeper的一次经历
一、ZOokeeper是什么?
ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务,是一种复杂的过程,ZooKeeper通过简单的架构和API解决了这个问题。ZooKeeper运行开,发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。
ZooKeeper的应用场景
① 分布式协调组件
在分布式系统中,需要有ZooKeeper作为分布式协调组件,来协调分布式系统中的
状态。
② 分布式锁
ZooKeeper在实现分布式锁上面,可以做到强一致性。
③ 无状态化的实现
可以将一些具有无状态的信息存储到ZooKeeper中,分布式服务直接去ZooKeeper中
获取相关信息。
二、安装Zookeeper
1.进入官网下载
Zookeeper官网地址
点击Getting Started标题下的Download超链接进入下载
2.解压到服务器
解压到本地路径,进入ZooKeeper的conf目录下,复制zoo_sample.cfg配置文件,命名为zoo.cfg,我这块是模拟了下集群所以有其他的文件
3.配置文件
如果是单机的话,直接默认使用配置文件就好。
三.使用Zookeeper
记得在bin目录下执行哦,或者可以添加系统环境变量(路径在/etc/profile)
Zookeeper官方指令页面
3.1启动相关指令
启动ZooKeeper
./zkServer.sh start
查看ZooKeeper的运行状态
./zkServer.sh status
关闭ZooKeeper服务
./zkServer.sh stop
ZooKeeper客户端连接
./zkClient.sh
3.2其他指令
- 持久节点
创建出的节点,在会话结束后依然存在。保存数据。
create -s [节点][存储的值(可选)]
- 持久序号节点
兼具持久节点的特征。创建出的节点,根据先后顺序,会在节点之后带上一个数值,越后执行,这个数值越大。适合于分布式锁的应用场景(单调递增)。
create -e [节点][存储的值(可选)]
- 临时节点
创建一个临时节点后,如果创建节点的会话结束,该节点会被自动的删除。通过这个特性,zk可以实现服务的注册与发现。临时节点通过心跳机制,告诉zk服务器自己还存活着。
create -s [节点][存储的值(可选)]
- 临时序号节点
兼具临时节点+序号节点的特征总和。
(create -es [节点] [存储的值(可选)]或 create -e -s [节点][存储的值(可选)])
- 容器节点
是在3.5.3版本新增的节点。当我们创建完容器节点后,如果该节点下没有任何子节点,那么60秒后,该容器节点就会被zk删除。
create -c [节点][存储的值(可选)]
TTL节点
可以指定节点的到期时间,到期后会被zk删除,需要通过系统配置extendedTypesEnabled=true开启。
create -t [毫秒数] [节点][存储的值(可选)]
- 查询某个节点下所有“一级”节点
ls [节点路径]
查询某节点下“所有”节点
ls -R [节点路径]
查询节点上存储的值
get [节点路径]
查询节点的详细信息
get -s [节点路径]
- 设置/修改节点上存储的值
set [节点路径] [存储的值]
- 删除节点(删除某节点,并且该节点下没有子节点)
delete [节点路径]
- 删除节点(删除某节点以及节点下的所有子节点)
deleteall [节点路径]
- 乐观锁删除(如果删除的版本不匹配,异常提醒:version No is not valid)
delete -v [dataVersion] [节点路径]
3.3ACL权限
定义了什么样的用户能够操作这个节点,且能够进行怎样的操作。
当前会话添加权限账号和权限密码。
addauth digest [用户名]:[密码]
创建节点并设置权限。
create [节点] [节点value] auth:[用户名]:[密码]:[ACL命令]
总结
以上就是今天要分享的内容
版权归原作者 谭震鸿 所有, 如有侵权,请联系我们删除。