首页 > 其他 > 详细

zookeeper客户端之curator

时间:2020-07-23 21:39:22      阅读:55      评论:0      收藏:0      [点我收藏+]
  1 zk开源客户端curator介绍:
  2 常用变量:
  3     权限:ZooDefs.Perms.All
  4     节点类型:CreateMode.PERSISTENT
  5 
  6 1. curator简介
  7      curator是netflix公司开源的一个zk客户端;
  8      原生zkAPI的不足:
  9         -连接对象异步创建,需要开发人员自行编码等待
 10         -连接没有自动重连超时机制
 11         -watcher一次注册生效一次
 12         -不支持递归创建树形节点
 13     curator特点:
 14         -解决session会话超时重连
 15         -watcher反复注册
 16         -简化开发api
 17         -遵循Fluent风格的API
 18         -提供了分布式锁服务,共享计数器,缓存机制等
 19 2. watcherAPI
 20     curator提供了两种watcher(cache)来监听节点的变化
 21         -Nodecache:只监听某一特定的节点,监听节点的新增和修改
 22         -PathChildrenCache:监听一个znode的子节点,当一个子节点增加,更新,删除时,Path Cache会改变它的状态,会包含最新的子节点,以及子节点的数据和状态。
 23                               
 24 3. 分布式锁
 25     -InterProcessMutex:分布式可重入排他锁
 26     -InterProcessReadWriteLock:分布式读写锁
 27 
 28 4. 常用命令:
 29     zk支持某些特定的四字命令与其交互。它们大多是查询命令,用来获取zk服务的当前状态及相关信息。用户在客户端可以通过telnet或nc向zk提交相应的命令。
 30         -conf:输出相关服务配置的详尽信息。端口号,zk数据及日志配置路径,最大连接数,session超时时间,serverid等
 31         -cons:列出所有连接到这台服务器的客户端连接/会话的详尽信息。包括"接收/发送"的包数量,sessionID,操作延迟,最后的操作执行等信息。
 32         -crst:重置当前这台服务器的所有连接/会话的统计信息
 33         -dump:列出未经处理的会话和临时节点
 34         -envi:输出关于服务器的环境详尽信息
 35         -ruok:测试服务是否处于正确运行状态.如果正常返回imok,否则返回空
 36         -stat:输出服务器的详尽信息:接收/发送包数量,连接数,模式(leader/follower),节点总数,延迟。
 37         -srst:重置server状态
 38         -wchs:列出服务器watchers的简介信息:连接总数,watching节点总数和watches总数
 39         -wchc:通过session分组,列出watch的所有节点,它的输出是一个watch相关的会话的节点列表
 40         -wchp:通过路径分组,列出所有的watch的session id信息
 41         -mntr:列出集群的健康状态。包括"接收/发送"的包数量,操作延迟,当前服务模式(leader/follower),节点总数,watcher总数,临时节点总数
 42     eg:使用nc命令查看服务器配置信息:
 43         echo conf | nc 172.18.19.143 2181
 44     
 45     -conf命令:
 46         echo conf | nc 172.18.19.143 2181;
 47         clientPort:客户端端口号
 48         dataDir:数据快照文件目录,默认情况下100000次事务操作生成一次快照;
 49         dataLogDir:事务日志文件目录,生产环境中放在独立的磁盘中;
 50         tickTime:服务器之间或客户端与服务器之间维持心跳的时间间隔(以毫秒为单位);
 51         maxClientCnxns:最大连接数;
 52         minSessionTimeout:最小session超时,默认minSessionTimeout=tickTime*2;
 53         maxSessionTimeout:最大session超时,默认maxSessionTimeout=tickTime*20;
 54         serverId:服务器编号;
 55         initLimit:集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数;
 56         syncLimit:集群中的follower服务器(F)与leader服务器(L)之间请求和应答之间能容忍的最多心跳数;
 57         electionAlg: 
 58             0:基于UDP的LeaderElection,
 59             1:基于UDP的FastLeaderElection,
 60             2:基于UDP和认证的FastLeaderElection,
 61             3:基于TCP的FastLeaderElection
 62             在3.4.10版本中,默认值为3,另外三种算法已经被弃用。
 63         electionPort:选举端口;
 64         quorumPort:数据通信端口;
 65         peerType:是否为观察者,1为观察者  
 66     -cons命令:
 67         ip:ip地址;
 68         port:端口号;
 69         queued:等待被处理的请求数,请求缓存在队列中;
 70         received:收到的包数;
 71         sent:发送的包数;
 72         sid:会话id;
 73         lop:最后的操作GETD-读取数据,DELE-删除数据,CREA-创建数据;
 74         est:连接的时间戳;
 75         to:超时时间;
 76         lcxid:当前会话的操作id;
 77         lzxid:最大事务id;
 78         lresp:最后响应时间戳;
 79         llat:最后/最新 延时;
 80         minlat:最小延时;
 81         maxlat:最大延时;
 82         avglat:平均延时;
 83     -stat命令:
 84         Zookeeper version:版本;
 85         latency min/avg/max:延时;
 86         received:收包;
 87         sent:发包;
 88         connections:连接数;
 89         outstanding:堆积数;
 90         zxid:最大事务id;
 91         mode:服务器角色;
 92         node count:节点数;
 93     -wchc命令:
 94         直接使用会有问题:wchc is not executed because it is not in the whitelist.
 95         解决办法:修改zkServer.sh:
 96             在下面添加如下信息:
 97             ZOOMAIN="-Dzookeeper.41w.commands.whitelist=* ${ZOOMAIN}"
 98     -mntr命令:
 99         此命令与stat命令相似,不多显示的信息更加详细.
100         zk_version:版本;
101         zk_avg_latency:平均延迟;
102         zk_max_latency:最大延迟;
103         zk_min_latency:最小延迟;
104         zk_packetzk_packets_sents_received:收包数;
105         zk_packets_sent:发包数;
106         zk_num_alive_connections:连接数;
107         zk_outstanding_requests:堆积请求数;
108         zk_server_state:leader/follower状态;
109         zk_znode_count:znode数量;
110         zk_watch_count:watch数量;
111         zk_ephemerals_count:临时节点(znode)数量;
112         zk_approximate_data_size:数据大小;
113         zk_open_file_descriptor_count:打开的文件描述符数量;
114         zk_max_file_descriptor_count:最大文件描述符数量;

zookeeper客户端之curator

原文:https://www.cnblogs.com/kongieg/p/13367381.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!