Zookeeper学习

1、Zookeeper

zookeeper是一个为分布式应用系统的一致性和协调性服务的软件,类似于unix系统文件+通知机制+Znode节点

作用:服务注册+分布式系统的一致性通知协调。

vim /etc/sysconfig/network-scripts/ifcfg-eth0     #打开linux系统ip配置文件,可以修改linux虚拟机的ip。

service network restart  #重启网关服务

2、conf/zoo_sample.cfg

tickTime:通信心跳数,Zookeeper服务器心跳时间,单位毫秒,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

initLimit:

syncLimit:Leader和Follower同步通信时限集群中Leader与Follower之间的最大响应时间单位。

dataDir:数据文件目录+数据持久化路径

clientPort:客户端连接端口

3、启动(bin目录下)

启动zookeeper服务端:./zkServer.sh start

启动zookeeper客户端: ./zkCli.sh

退出客户端:quit

退出服务端: ./zkServer.sh stop
 

查看zookeeper是否启动使用四字命令:echo ruok | nc 127.0.0.1 2181 返回imok[root@CentOS bin]# ,zookeeper 启动成功。

如果linux系统报错:-bash: nc: command not found,请使用yum install -y nc 在线安装nc命令

4、zookeeper数据模型

ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode
 很显然zookeeper集群自身维护了一套数据结构。这个存储结构是一个树形结构,其上的每一个节点,我们称之为"znode",每一个znode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识
 

czxid- 引起这个znode创建的zxid,创建节点的事务的zxid(ZooKeeper Transaction Id)

ctime - znode被创建的毫秒数(从1970年开始)

mzxid - znode最后更新的zxid

mtime - znode最后修改的毫秒数(从1970年开始)

pZxid-znode最后更新的子节点zxid

cversion - znode子节点变化号,znode子节点修改次数

dataversion - znode数据变化号

aclVersion - znode访问控制列表的变化号

ephemeralOwner- 如果是临时节点,这个是znode拥有者的session id。如果不是临时节点则是0。

dataLength- znode的数据长度

numChildren - znode子节点数量

5、zookeeper四大节点

PERSISTENT-持久化目录节点:客户端与zookeeper断开连接后,该节点依旧存在

PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点:客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号

EPHEMERAL-临时目录节点:客户端与zookeeper断开连接后,该节点被删除

EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点:客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号

6、常用四字命令

echo 【命令】 | nc ip port

ruok:测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应

stat:输出关于性能和连接的客户端的列表

conf:输出相关服务配置的详细信息

cons:列出所有连接到服务器的客户端的完全的连接 /会话的详细信息。包括“接受 / 发送”的包数量、会话id 、操作延迟、最后的操作执行等等信息

dump:列出未经处理的会话和临时节点

envi:输出关于服务环境的详细信息(区别于conf命令)

reqs:列出未经处理的请求

wchs:列出服务器watch的详细信息

wchc:通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表

wchp:通过路径列出服务器 watch的详细信息。它输出一个与 session相关的路径

7、JAVA代码操作(简单Demo)

 

8、watch(通知机制)

通知机制: 客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,zookeeper会通知客户端,它是一个异步回调的触发机制

一次通知

递归产生多次通知:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值