一、下载zookeeper,上传到服务器,解压node
二、 修改配置文件名字:mv zoo_sample.cfg zoo.cfg
三、 修改配置文件中的datadir参数
四、 启动服务端 zook:bin/zkServer.sh start ---- ---退出服务zook:bin/zkServer.sh stopvim
Mode:stadalone--单机模式
五、 启动客户端:bin/zkCli.sh ---退出客户端 quit
配置参数解释:
tickTime=2000:每一个心跳2s
initLimit=10 :LF初始化链接通讯时限10个心跳针
syncLimit=5:LF同步通讯时限5个心跳
clientPort=2181:客户端链接端口号
zookeeper内部原理
一、半数机制
二、选举机制:投票选举制,超过半数为leader,其余为follower
节点类型:持久节点(Persistent):客户端与服务器断开链接后,建立的节点依然存在
持久化目录节点
持久化顺序编号目录节点
短暂节点(Ephemeral):客户端与服务器断开链接后,建立的节点本身删除
临时目录节点
临时顺序编号目录节点
顺序节点做用:
建立Znode时设置顺序标识,Znode名称后附加一个值,顺序号是一个单调递增的计数器,由父节点维护。
在分布式系统中,顺序号能够被用于全部的事假进行全局排序,这样的客户端能够经过顺序号推断出事件的顺序。服务器
客户端与zookeeper断开后,临时节点都会删除。分布式
zookeeper分布式安装部署:ui
3台服务器上在 zkData 中建立 文件myid(文件名字必须是myid) ,编辑内容为当前服务器的编号 1 3 ...spa
cd zkData touch myid vim 2
vim zoo.cnf 增长:
server.2= ip:2888:3888
server.3= ip:2888:3888
server.4= ip:2888:3888
----server.A=B:C:D
A是一个数字,表示这个是第几号服务器,
B是这个服务器的ip地址
C是这个服务器与集群中的Leader服务器交互信息的端口
D是万一集群中的leader服务器挂了,须要一个端口来从新进行选举,选出一个新的Leader
命令:xsync zoo.cfg ?
bin/zkServer.sh status:查看zookeeper状态(leader或者follower)
create /zook myz02 :普通持久节点
create -s /zook myz02:持久顺序节点
create -e /zook myz01 :短暂节点
create -e -s /zook myz01 :短暂顺序节点
get /zook watch:监听节点数据变化
ls path watch:监听子节点变化
server