ZooKeeper初学习笔记

zookeeper是⼀个伪分布式应⽤程序提供的⼀个分布式开源协调服务框架。是Google的Chubby的⼀个开源实现,是Hadoop和Hbase的重要组件。主要⽤于解决分布式集群中应用系统的⼀致性问题。
提供了基于类似Unix系统的目录节点树方式的数据存储。
可用于维护和监控存储数据的状态的变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理

提供的功能包括:配置维护、域名服务、分布式同步、组服务等

Zookeeper 的核心是原子广播机制,这个机制保证了各个 server 之间的同步。实现这个机制的协议叫做 Zab 协议。Zab 协议有两种模式,它们分别是恢复模式和广播模式

Zookeeper 作为分布式系统协调者和管理者,承担着联结分布式系统的各组件来组成一个完整服务的职责

功能

1. 管理系统中独特的/统一的信息:
一个分布式系统的各节点可能需要一个规范的、各节点的唯一的命名(例如节点名、CPU编号等),ZK可以实现这个的应用场景。

各个节点也会有一致的信息,例如每个节点的主配置信息。为了管理方便,新加入的节点也需要快速同步这些信息。使用ZK可以方便的做到。

2. 集群状态监控和通知:

分布式系统中的每个节点需要知道整个系统的状态、知道系统中每个节点的状态:当有新节点加入时它需要知道、当有节点出现故障时它需要知道、当有节点退出时它需要知道。ZK就是这样一个“通知工具”。

ZooKeeper数据一致性
ZooKeeper是高性能、可扩展的,为应用提供了以下的数据一致性(每个server保存⼀份相同的数据副本,client⽆论连接到哪个server,数据都是⼀致的)保障:
1)顺序一致性: 来自客户端的更新将严格按照客户端发送的顺序处理;
2)原子性: 更新或者成功或者失败,不存在部分成功或者部分失败的场景;
3)单一视图: 无论客户端连接到哪个服务器,看到的都是一样的视图;
4)可靠性: 一旦一个更新生效,它将一直保留,直到再次更新;
5)实时性: 在⼀定时间范围内,client能读到最新数据

ZooKeeper有哪些需要配置的属性?

tickTime:  ZooKeeper运行的基本时间单元

dataDir:    存储持久数据的本地文件系统位置

clientPort: 监听客户端连接的端口(常用的端口是2181)

数据管理功能:
创建节点: create /aaa ‘ppppp’

查看节点下的子节点: ls /aaa

获取节点的value: get /aaa

修改节点的value: set /aaa ‘mmmmm’

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值