Zookeeper简介

23 篇文章 0 订阅
2 篇文章 0 订阅

1. ZooKeeper是一个分布式协调服务,用于管理大量主机。

  1. 分布式应用程序并发的在网络中上运行,通过协调不同节点上进程以快速有效的方式完成特定任务。
  2. 分布式应用程序特点:
    高可用,可扩展,透明
  3. 分布式程序缺点:
    竞争条件,死锁,数据的不一致

2. zookeeper功能

功能简介
命名服务按名称识别集群中的节点。它与DNS类似,但是用于节点。
配置管理加入节点的系统配置信息的最新化。
群集管理实时连接/离开群集中的节点和节点状态。
领导选举选择节点作为协调目标的领导者。
锁定和同步服务修改数据时锁定数据。此机制可帮助您在连接其他分布式应用程序(如Apache HBase)时进行自动故障恢复。
高度可靠的数据注册表数据即使在一个或几个节点关闭时的可用性

3. zookeeper优点

  1. 简单的分布式协调过程
  2. 同步 - 服务器进程之间的相互排斥和协作。此过程有助于Apache HBase进行配置管理。
  3. 有序消息
  4. 序列化 - 根据特定规则对数据进行编码。确保您的应用程序运行一致 这种方法可以用在MapReduce中来协调队列以执行正在运行的线程。
  5. 可靠性
  6. 原子性

4. zookeeper体系包含

  1. 客户端
  2. ZK服务器(ZK集群中节点)
  3. ZK集群(ZooKeeper服务器组。组成一个集合所需的最小节点数是3)分为Leader和follower

5. zookeeper数据模型

  1. ZooKeeper节点被称为znode,每个znode最多可以存储1MB的数据。
  2. ZK的树形结构的主要目的是存储同步数据并描述znode的元数据。这个结构被称为ZooKeeper数据模型。
  3. ZooKeeper数据模型中的每个znode都维护一个stat结构。统计信息只是提供znode的元数据。它由版本号,动作控制列表(ACL),时间戳和数据长度组成。
名称含义
版本号每个znode都有一个版本号,这意味着每当与znode相关的数据发生变化时,其相应的版本号也会增加。当多个zookeeper客户端试图通过同一个znode执行操作时,使用版本号很重要。
动作控制列表(ACL)ACL基本上是用于访问znode的认证机制。它管理所有的znode读写操作。
时间戳时间戳表示从znode创建和修改过去的时间。它通常以毫秒表示。ZooKeeper从“事务ID”(zxid)中识别对znodes的每个更改。Zxid是唯一的,并为每个事务维护时间,以便您可以轻松识别从一个请求到另一个请求所用的时间。
数据长度存储在znode中的数据总量是数据长度。您最多可以存储1MB的数据。

6. Znodes的类型

持久性,顺序性和短暂性。

类型含义
持久性znode即使在创建特定znode的客户端断开连接后,持久性znode仍处于活动状态。默认情况下,除非另有说明,否则所有znode都是永久的
短暂的znode临时的znode在客户活着之前一直处于活动状态。当客户端从ZooKeeper集成中断开连接时,会自动删除临时znode。短暂节点在leader选举中发挥重要作用
顺序znode顺序znode可以是持久性的也可以是短暂的。ZK创建Znode时通过将一个10位数的序列号附加到原始名称来设置znode的路径。顺序节点在锁定和同步中起着重要作用。

7. zookeeper会话机制

  1. 会话对于ZooKeeper的运行非常重要。
  2. 会话中的请求按先进先出顺序执行。
  3. 一旦客户端连接到服务器,会话将被建立并且会话ID被分配给客户端。

8. zookeeper观察机制

  1. 客户端获取有关ZooKeeper集群中更改的通知的简单机制。
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值