Zookeeper笔记

本文深入探讨Zookeeper集群的工作原理,包括半数机制确保服务可用,选举机制详细步骤,持久与短暂节点的区别,监听器事件处理流程,以及数据写入的分布式一致性策略。同时,还介绍了Observer角色在读写操作中的作用,并列举了常用客户端操作命令。
摘要由CSDN通过智能技术生成

半数机制:

  • 集群中半数以上机器存活集群可用。指定一个机器为leader

选举机制:

  • 顺序启动服务器,半数以上启动时id数最大的为leader

节点类型:

  1. 持久:客户端和服务器端断开连接后,创建的节点不删除
  2. 短暂:客户端和服务器端断开连接后,创建的节点自己删除

监听器原理:

  1. 首先一个主进程main()

  2. 在main线程中创建Zookeeper客户端

  3. 创建两个线程connet和listener

  4. connet将组测的监听事件发送给zookeeper,zookeeper将事件添加到监听器列表中

  5. 有数据和路径变化时将消息发送给listener线程

  6. listener启动process()方法

写数据流程

  • client向zookeeper的server1发送写数据请求.
  • 如此server1不是leader,则将请求转给leader,leader将请求广播给server1,server2,
  • server写成功后通知leader
  • 当leader收到多半server数据写成功,则认为数据写成功,告诉server1写成功,
  • server1再通知client写成功代表整个写操作完成

zookeeper observer

  • 不投票其他和fellow一样,意味着可以读写,但是写操作确认还是由fellow来完成

客户端操作命令:

  • help:显示所有操作命令
  • ls path[watch(启动路径监听)]:使- 用ls命令查看当前znode中包含的内容
  • ls2 path[watch(启动监听)]:查看当前节点的数据并能看到更新次数等数据
  • create:普通创建 -s 含有序列 -e 临时创建(重启或者超时消失)
  • get path[watch(节点值监听)]:获得节点的值
  • set:设置节点的具体值
  • stat:查看节点状态
  • delete:删除节点
  • rmr:递归删除节点

备注

  • 批量脚本启动 ssh命令属于no-login no interactive 不会加载配置文件 所以ssh命令中必须加source /etc/prfile 或者 export BASH_ENV=/etc/profile 添加环境变量

具体bash模式点此查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值