ZooKeeper是一个开源的分布式服务框架,运行在Java环境中,主要用来解决分布式应用中遇到的数据管理问题:数据的发布/订阅、负载均衡、统一名称服务、状态同步服务、分布式协调/通知、集群管理、Master选举、分布式锁盒分布式队列等等。简而言之,zookeeper=文件系统+监听通知机制。
ZooKeeper允许分布式进程通过共享的分层命名空间相互协调,ZooKeeper数据保存在内存中,可以实现高吞吐量和低延迟数。可靠性方面使其不会称为单点故障,严格的排序意味着可以在客户端实现复杂的同步原语。
在部署ZooKeeper前,需要安装配置JAVA环境,安装如下:
cat /application/zookeeper-3.4.14/conf/zoo.cfg
mkdir /application/zookeeper-3.4.14/{data,logs}
zkServer.sh通常用来启动、终止、重启ZK服务器,用法如下:
zkCli.sh是用来连接zk服务的脚本程序文件,使用该脚本程序连接到ZK后,可管理ZK服务,用法如下:
create [-s] [-e] path data acl
(1)创建ZooKeeper持久节点
(2)创建ZooKeeper顺序节点
(3)创建ZooKeeper临时节点
(4)读取节点命令 读取节点命令有以下四个:
(a)ls path [watch]
(b)ls2 path [watch]
(c)get path [watch]
get读取数据内容和属性信息可以看到,get不像ls2一样更够列出/下的文件名称,只显示当前节点的属性信息
(d)stat path [watch]
stat命令和get命令基本一致
(e)set path data [version]
set命令用来更新节点数据内容 先使用ls2获取当前节点的属性信息
(5)更新数据节点
(a)delete path [version]
持久节点以及顺序节点只有使用删除命令才能够消失 使用delete命令来删除持久节点permanent 注意:如果数据节点下有子目录的时候必须先删除子目录,然后在删除父目录,否则使用delete是不可取的 例子:
(b)rmr path
rmr也同时删除节点命令,但它和delete的区别在于,它会忽略节点下的子目录,直接递归删除数据节点下的所有目录及数据节点
ZooKeeper支持某些特定的四字命令与其交互,他们大多数是查询命令,用来获取ZK服务当前状态及相关信息。用户在客户端可通过telnet或nc向ZooKeeper提交相应的命令 可用的四字命令如下:
(a)rook 测试是否启动了ZooKeeper
(b)stat 查询当前连接的端口及IP和其它信息
(c)srvr 显示当前ZK服务的信息,跟stat很相似,但是它只显示ZK的自身信息
(d)conf 输出ZK相关的服务配置相信信息
(e)cons 列出所有连接到ZK服务器的客户端的完全连接/会话详细信息
(f)wchs 列出watch的详细信息
(g)envi 列出当前jdk,以及zk所用到的jdk配置信息
(h)dump 列出未经处理的回话和临时节点
(i)reqs 列出未处理的请求
(j)mntr 列出一些监控信息
页面更新:2024-05-12
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号