zookeeper角色分配和命令行简单客户端
zookeeper集群有三种角色,分别时leader(总台),follower(议员),observer(观察员)。无论客户端访问哪台zookeeper服务器,最终都会被转发给leader服务器,再通过leader分给follower投票,半数投票通过就认为是可执行操作,否则不会被执行。observer是堆查询操作做负载的,没有投票权。又因为投票半数以上才会生效和leader唯一性和必须性,所以集群数量是单数。
启动zookeeper:bin下的zkServer.sh start
jps可查看是否已经启动
启动bin下的zkCli.sh:通过connect host:port可连接集群中的其他zookeeper客户端。或者通过./zkCli.sh -server host:port连接其他zookeeper客户端。
写数据读数据:zookeeper数据结构为树状结构,类似文件系统。
创建app节点和数据create [-s][-e] /app value1(其中-s或-e指定节点特性,顺序或者临时节点,若不制定,则表示持久节点,临时节点会在客户端会话结束后删除)
获取app的数据:get /app
更新app节点的数据:set /app value2[version](value1更新为value2,version为版本信息)
删除app节点,若某节点有子节点,必须先删子节点,再删父节点。delete /app[version]
监听app节点(watch):
get /app watch 监听app节点数据变化,监听一次
ls /app watch 监听子节点变化