Zookeeper使用要领

安装
  • 下载
  • 解压
  • 运行
功能

文件系统+监听通知机制

统一命名服务 状态同步服务 集群管理 分布式应用配置项的管理

四种目录节点
  • 持久化目录节点
  • 持久化顺序编号目录节点
  • 临时目录节点
  • 临时顺序编号目录节点
监听机制

客户端注册监听它关心的目录节点,当目录节点发生变化,zookeeper会通知客户端

单机版的使用
  • 创建节点

    create [-s] [-e] path data acl

    -s表示顺序节点 -e表示临时节点

  • 查看节点内容

    get path

  • 查看子节点

    ls path

  • 更新节点内容

    set path data

  • 删除节点内容

    delete path

    rmr path 删除当前节点及子节点

  • 节点监控

集群搭建
  • 高可用
  • 配置参数
    • tickTime 通信心跳数,毫秒
    • initLimit LF初始通信时限
    • syncLimit LF同步通信时限
    • dataDir 数据文件目录+数据持久化路径
    • clientPort 客户端连接端口
  • 选举机制
    • 半数机制,半数以上机器存活,集群可用
    • Leader通过内部选举机制临时产生
    • 投票优先投给服务器id较大的
zookeeper客户端连接
  • ZooInspector

####Java操作Zookeeper

  • 节点的创建修改删除
  • 节点时间监听
  • 使用zkClient工具
监听原理
  • 首先要有一个主线程
  • 在主线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connect),一个负责监听(listener)
  • 通过connect线程将注册的监听事件发送给Zookeeper
  • 在Zookeeper的注册监听器列表中将注册的监听事件添加到列表中
  • Zookeeper监听到有数据或路径变化,就将这个消息发送给listener线程
  • listener线程内部调用了process( )方法
CAP理论
  • 一个分布式系统不可能同时满足: 一致性(Consistency),可用性(Available),分区容错性(Partition Tolerance)
  • Zookeeper保证了CP,不能保证每次服务请求的可用性,在极端环境下,Zookeeper可能会丢弃一些请求,需要重新请求才能获取结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值