zookeeper(一) 介绍,搭建,使用

一、zookeeper的基本概念

1、集群3种角色

  • leader:是整个zookeeper工作机制中的核心
  • follower:是zookeeper集群状态的跟随者
  • observer:服务器充当观察者的角色

备注:zookeeper用到了两种设计模式

  • leader,follower设计模式
  • observer 观察者设计模式


2、会话

会话指的是客户端和zookeeper服务器的链接,zookeeper中的会话叫session,客户端与服务器建立一个tcp的长连接来维持一个session,客户端的启动首先会与服务器建立一个tcp连接,通过这个连接,客户端能够通过心跳检测服务保持有效的会话,也能向zk服务器发送请求并获得响应


3、数据节点(2种)

  • 集群中的一台机器称为一个节点
  • 数据模型中的数据单元znode,分为持久节点和临时节点

zookeeper的数据模型是一棵树,书的节点就是znode,znode可以保存信息


4、版本

  • version    当前数据节点数据内容的版本号
  • cversion   当前数据节点子节点的版本号
  • aversion   当前数据节点acl变更版本号

悲观锁和乐观锁

悲观锁又叫做悲观并发锁,是数据库中一种非常严格的锁策略,具有强烈的排他性,能够避免不同事物对同一数据兵法更新造成的数据不一致性,在一个事物没有完成之前,下一个事物不能同事访问相同的资源,舍河数据更新竞争非常激烈的场景

乐观锁


5、watcher

可以理解为事件监听器,当接待你发生变化的时候会将变化的通知发给客户端


6、ACL权限控制

  • create:创建节点权限
  • read:获取节点数据和子节点列表的权限
  • write:更新节点数据的权限
  • delete:删除子节点的权限
  • admin:设置节点ACL的权限

二、zookeeper环境搭建

  • zookeeper是用java语言写的,所以用zookeeper的前提是你的机器上安装了jdk
  • 复制 zookeeper/conf/下的zoo_sample.cfg 为zoo.cfg
  • 修改 zoo.cfg 文件  
  •                dataDir=/var/zookeeper/ zookeeper存储快照文件的目录;
  •                clientport zookeeper的端口号(2181默认端口);
  •                server.1=host:prot(follower端口):port(leader端口)     备注:集群部署的时候,这个配置可以配多个
  • 进入/var/目录下创建zookeeper文件夹
  • 在/var/目录下创建myid文件,写入当前服务器的server的id,保存退出

启动zookeeper

  • cd  /zookeeper/bin/
  • ./zkServer.sh start

zookeeper模式(备注:zookeeper集群只要有两台机器可用,此集群即可以使用

  • 单机模式
  • 集群模式
  • 伪集群模式


三、zookeeper客户端使用(linux)

  • 客户端连接zk服务:sh zkCli.sh -timeout 5000 -server 192.168.1.105:2181
  • 查看zk命令列表:h
  • 查看某一个节点下的所有子节点的信息:ls /
  • 获取数据节点的状态信息:stat  /node_1
  • 获取当前节点存储的数据的内容:get  /node_1
  • 查看当前节点的所有子节点和相关状态:ls2 /node_1
  • 创建节点 cheate  -s(数据节点)  -e(临时节点)  data(携带的数据)  acl(权限)   备注:-e或者-s必须紧跟在create后边;临时节点,当客户端退出后,就销毁
  • 修改节点 set path data [version]
  • 删除节点 delete path [version] 备注:只能删除空的子节点
  • 强制删除子节点 rmr

zk可视化工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值