ZooKeeper教程

ZooKeeper是一个分布式协调服务来管理大量的主机。协调和管理在分布式环境的一个服务是一个复杂的过程。ZooKeeper 简单解决了其结构和API这个问题。ZooKeeper允许开发人员能够专注于核心应用程序逻辑,而无需担心应用程序的分布式特性。

ZooKeeper框架始建于“雅虎”,一个简单而强大的方法用于访问应用程序。后来 Apache ZooKeeper 成为用 Hadoop,HBase 的组织服务以及其他分布式架构的标准。例如,Apache HBase 使用 ZooKeeper 跟踪分布式数据的状态。

在进一步向前,我们知道有关分布式应用程序的一两件事情。所以,我们不如用分布式应用程序来快速概览开始讨论。

分布式应用程序

分布式应用程序可以通过在它们之间协调以完成特定的任务,快速且有效的方式在多个系统中的网络在给定时间(同时)运行。通常,复杂的和耗时的任务,这将需要几个小时由非分布式应用程序(在一个系统上运行)来完成,可以在几分钟内由分布式应用程序通过使用所有所涉及的系统的计算能力来完成。

完成任务的时间可以通过配置分布式应用到更多的系统上运行来进一步降低。一组在分布式应用程序正在运行的系统被称为集群,在群集中运行的每台机器被称为节点。

分布式应用程序有两部分,分别是:服务器和客户端应用程序。服务器应用程序实际上是分布式的,有一个共同的接口,这样客户端可以连接到集群中的任何服务器,并得到同样的结果。客户端应用程序用一个分布式应用程序交互工具。

分布式应用程序的好处

  • 可靠性 − 单个或几个系统的故障不会使整个系统失效。

  • 可扩展性 − 性能可以在无需停机的应用程序的微小配置变化来在需要时增加更多的机器。

  • 透明性 − 隐藏了系统的复杂性并表现为一个单一的实体/应用程序。

分布式应用程序的挑战

  • 竞争条件 − 两个或更多的机器试图执行特定任务,这实际上需要将仅由一台机器在任何给定的时间内完成。例如,共享资源只能由一台机器在任何特定时间进行修改。

  • 死锁 − 两个或更多的操作等待对方无限期完成。

  • 不一致性 - 数据部分失败。

Apache ZooKeeper 意味着什么?

Apache ZooKeeper是由群集(组节点)之间进行相互协调,并保持强大的同步技术共享数据的服务。ZooKeeper本身是一个分布式应用写入分布式应用提供服务。

ZooKeeper 提供的通用服务如下-

  • 命名服务 − 确定在一个集群中的节点的名字。它类似于DNS,只不是过节点。

  • 配置管理 − 系统最近加入节点和向上最新配置信息。

  • 集群管理 − 加入/节点的群集和节点状态实时离开。

  • 节点领导者选举 − 选举一个节点作为领导者协调的目的。

  • 锁定和同步服务 − 锁定数据,同时修改它。这种机制可以帮助自动故障恢复,同时连接其它的分布式应用程序。如Apache HBase。

  • 高可靠的数据注册表 − 一个或几个节点的可用性的数据向下。

分布式应用程序提供了很多好处,但他们也带来了一些复杂的,难以破解的挑战。ZooKeeper框架提供了完整的机制来克服所有挑战。竞争条件和死锁使用故障安全同步的方式进行处理。另一个主要缺点是不一致的数据,ZooKeeper 使用原子性解决。

ZooKeeper的优点

下面是使用 ZooKeeper 的好处 -

  • 简单的分布式协调过程

  • 同步 − 互斥和服务器进程之间的合作。这个过程有助于Apache HBase 的配置管理。

  • 有序消息

  • 序列化− 根据特定的规则进行编码数据。确保应用程序不断地运行。这种方法可以用来在MapReduce的协调队列以执行正在运行的线程。

  • 可靠性

  • 原子性 − 数据传输成功或完全失败,但没有事务处理部分。


猿狮妹
2022-07-25
ZooKeeper 教程 在线教程
热门教程
1 ZooKeeper教程 ZooKeeper是一个分布式协调服务来管理大量的主机。协调和管理在分布式环境的一个服务是一个复杂的过程。ZooKeeper 简单解决了其结构和API这个问题。ZooKeeper允许开发人员能够专注于核心应用程序逻辑,而无需担心应用程序的分布式特性。
2 Zookeeper基础 在深入学习ZooKeeper工作之前,让我们一起来看看ZooKeeper 的一些基本概念。我们将在本章讨论下列主题 - 体系结构 分层命名空间 会话 监控 ZooKeeper的体系结构 看看下面的图。它描绘Zoo
3 Zookeeper工作流 当ZooKeeper集合启动时,它会等待客户端连接。客户端将连接到ZooKeeper的集合的其中一个节点。它可能是一个领导者或跟随者节点。当客户机连接时,该节点分配会话ID给特定的客户端,
4 Zookeeper领导人选举 让我们来分析一下一个领导节点在ZooKeeper集合的选举。考虑集群中有N多的节点。领导人选举的过程如下 − 所有节点创建一个顺序,znode具有相同路径,/app/leader_election/guid_. ZooKeeper 的集
5 Zookeeper安装配置 在安装ZooKeeper之前,请确保在以下任何操作系统上运行 − 任意Linux OS− 支持开发和部署。它是演示应用程序的首选。 Windows OS− 仅支持开发。 Mac OS− 仅支持开发。 ZooKeeper服务器是用
6 Zookeeper CLI ZooKeeper 命令行界面(CLI)是用来与 ZooKeeper 集成作开发进行交互的。这是在调试和使用不同的选项时的工作有用。 为了执行ZooKeeper的CLI操作, ZooKeeper服务器首先要启动 (“bin/zkServer.s
7 Zookeeper API ZooKeeper有一个Java和C绑定的官方API。ZooKeeper社区提供了对于大多数语言(.NET,Python等)的非官方API。使用ZooKeeper的API,应用程序可以连接,互动,操作数据,协调,以及从ZooKeeper集成断
8 Zookeeper应用 Zookeeper 为分布式环境灵活协调提供基础架构。ZooKeeper框架支持许多当今许多工业应用。我们将在本章中讨论一些 ZooKeeper 显着的应用。 Yahoo! ZooKeeper框架始建于“雅虎”。一个设计良好
  • Copyright © 2021 猿狮院, All rights reserved.