项目5 Zookeeper分布式协调服务-任务5.1 Zookeeper的概念与安装部署

合集下载

zookeeper概论

zookeeper概论

zookeeper概论Zookeeper概论Zookeeper是一个开源的分布式协调服务,它提供了分布式应用程序协调和管理的功能。

作为一个分布式系统的协调服务,Zookeeper为分布式应用程序提供了一个高效、可靠的协同机制,使得分布式应用程序可以在分布式环境中进行协调和管理。

Zookeeper的设计目标是为分布式应用程序提供一个简单而高效的协调机制。

它的核心思想是将分布式应用程序中的状态信息存储在一个分层的文件系统中,并通过监听机制来实现状态信息的实时同步。

Zookeeper使用了一种类似于文件系统的层次化命名空间结构来组织和管理状态信息,每个节点都可以存储一个小的数据块,并且可以通过节点路径来访问和修改这些数据。

通过监听机制,分布式应用程序可以监控节点数据的变化,并在节点数据发生变化时做出相应的反应。

Zookeeper的核心功能包括数据发布/订阅、数据一致性、节点选举和分布式锁等。

数据发布/订阅是指分布式应用程序可以向Zookeeper中的特定节点发布数据,并通过监听机制订阅这些数据的变化。

数据一致性是指Zookeeper保证了在分布式环境中数据的一致性,即不同节点之间的数据是同步的。

节点选举是指在分布式环境中选举出一个主节点来负责协调和管理其他节点。

分布式锁是指Zookeeper提供了一种分布式锁机制,用于实现对共享资源的互斥访问。

Zookeeper的特点包括高性能、高可靠性和可扩展性。

由于Zookeeper将状态信息存储在内存中,并通过监听机制来实现数据的实时同步,因此具有很高的性能。

同时,Zookeeper采用了多副本机制来保证数据的可靠性,即数据在多个节点之间进行复制,以防止节点故障导致数据丢失。

此外,Zookeeper的设计允许用户根据实际需求来扩展节点的数量,以满足不同规模的分布式应用程序的需求。

Zookeeper广泛应用于分布式系统和大数据领域。

在分布式系统中,Zookeeper可以用于实现分布式锁、分布式队列、分布式协调和分布式事务等功能,提供了一种可靠的协调机制。

zookeeper的简要理解

zookeeper的简要理解

zookeeper的简要理解Zookeeper的简要理解在计算机领域中,Zookeeper是一个开源的分布式协调服务,它提供了高可用、高性能的分布式应用程序协调服务。

作为一个分布式系统协调框架,Zookeeper的主要目标是通过维护和提供一致性、可靠性和高效性的数据结构,来解决分布式应用程序中的一些常见问题,如数据同步、配置管理、命名服务等。

Zookeeper是一个分布式的协调服务。

在分布式系统中,由于存在多个节点和多个进程之间的通信、同步和协调问题,往往需要一个可靠的协调服务来处理这些问题。

Zookeeper通过提供一套简单而强大的API,使得开发者可以方便地实现分布式应用程序中的一些共享资源的管理和协调。

Zookeeper提供了高可用性和高性能。

Zookeeper的设计原则之一就是保持高可用性,即使在部分节点故障的情况下也能够保持系统的正常运行。

为了实现这个目标,Zookeeper采用了分布式一致性算法来保证数据的一致性,并通过多个副本的方式来提供数据的持久性和可用性。

此外,Zookeeper还使用了基于内存的数据存储方式和高效的通信协议,使其具备了较高的性能。

Zookeeper还提供了一些常见的分布式应用程序中常用的功能。

例如,Zookeeper可以用作命名服务,用于动态地注册和发现服务,方便分布式应用程序进行服务的调用和管理。

此外,Zookeeper还可以用作配置管理工具,通过监听配置信息的变化,及时通知应用程序进行相应的更新。

同时,Zookeeper还提供了分布式锁的机制,用于解决分布式应用程序中的并发控制问题。

在Zookeeper中,数据被组织成一个类似于文件系统的层次结构,称为Znode。

每个Znode都可以存储一些数据,并且可以设置一些监听器,当Znode的数据发生变化时,会触发相应的事件通知。

Zookeeper提供了一套简单而强大的API,使得开发者可以方便地创建、读取、更新和删除Znode,并且可以通过监听器来实现对Znode 的监控。

zookeeper概念原理

zookeeper概念原理

zookeeper概念原理ZooKeeper是一个开源的分布式协调服务,用于管理和协调分布式系统中的各种任务。

它提供了一个简单而可靠的分布式协作框架,用于解决一些分布式系统中的共享资源、命名服务、配置管理等问题。

以下是 ZooKeeper 的一些关键概念和原理:1.集群模式:ZooKeeper以集群模式运行,由多个服务器节点组成。

其中一个节点充当Leader(领导者),负责协调和处理客户端请求,其他节点充当Follower(跟随者),用于备份和复制数据。

2.数据模型:ZooKeeper采用类似文件系统的数据模型,组织数据结构以树形结构展示。

每个节点称为znode,具有唯一的路径标识。

znode可以存储一定量的数据,并且可以与监视器(watcher)相关联,以便在数据发生更改时通知客户端。

3.原子性操作:ZooKeeper提供一些原子性操作,例如创建、读取、更新和删除znode。

这些操作保证了数据的一致性和可靠性,任何对数据的修改要么全部成功,要么全部失败。

4.顺序性保证:ZooKeeper通过为每个写操作分配递增的事务ID,保证了所有写操作的全局顺序性。

这使得客户端能够按照相同的顺序观察到更新。

5.触发器机制:ZooKeeper的监视器(watcher)机制允许客户端在节点状态变化时接收通知。

当一个znode被创建、更新或删除时,相关联的监视器将被触发,通知客户端进行相应的处理。

6.一致性协议:ZooKeeper使用ZAB(ZooKeeper AtomicBroadcast)协议来保证分布式数据的一致性。

该协议通过在Leader节点上进行广播操作,并要求Follower节点进行确认和复制,从而确保所有节点上的数据始终保持一致。

ZooKeeper的设计目标是提供高可用性、高性能和强一致性的分布式协调服务。

它在很多分布式系统中被广泛使用,如Hadoop、Kafka等,用于解决分布式环境下的一致性和协调问题。

zookeeper的基本介绍和使用

zookeeper的基本介绍和使用

zookeeper的基本介绍和使用Zookeeper是一个开源的分布式协调服务,由Apache软件基金会开发和维护。

它最初是为Hadoop分布式存储和处理框架设计的,但现在已经被广泛应用于其他分布式系统中。

Zookeeper提供了一个简单而可靠的方式来管理和协调分布式应用程序中的大量节点。

它提供了一个层次化的命名空间,类似于文件系统的目录结构,可以用来存储和管理各种类型的数据。

每个节点在命名空间中都有一个唯一的路径,类似于文件系统中的路径。

Zookeeper还提供了一套API,可以让应用程序使用这些节点进行读写操作,以及监听节点的变化。

Zookeeper的主要特点包括:1. 高可用性:Zookeeper采用了分布式的架构,通过在多个节点之间复制数据来提高可用性和容错性。

2. 一致性:Zookeeper使用了ZAB(Zookeeper Atomic Broadcast)协议来保证数据的一致性,即所有节点都能看到相同的数据。

3. 原子性:Zookeeper提供了一些原子性操作,如创建、删除和更新节点等,能够保证这些操作的原子性,即要么全部成功,要么全部失败。

4. 顺序性:Zookeeper为每个操作都分配了一个全局唯一的递增编号,通过这个编号可以实现同步和顺序访问。

在使用Zookeeper时,你可以通过以下步骤进行操作:1. 安装和配置Zookeeper服务器集群。

2. 编写应用程序,使用Zookeeper的API连接到Zookeeper服务器集群。

3. 在Zookeeper上创建节点,并设置节点的数据。

4. 在应用程序中读取和更新节点的数据。

5. 注册监听器,以便在节点的数据发生变化时收到通知。

6. 在应用程序中处理节点的变化事件。

Zookeeper被广泛应用于各种分布式系统中,如Hadoop、Kafka、HBase等。

它可以用来实现分布式锁、选主、配置管理、服务注册与发现等功能,有助于简化分布式系统的开发和管理。

zookeeper的基本概念

zookeeper的基本概念

Zookeeper的基本概念介绍Zookeeper是一个开源的分布式协调服务,它提供了一个简单而高效的分布式应用程序协调服务,用于解决分布式系统中的一致性问题。

Zookeeper的设计目标是为了提供高可用性、高性能、严格的顺序访问以及可靠的数据存储。

基本原理Zookeeper的基本原理可以归结为以下几点:1.分布式数据存储:Zookeeper将数据存储在内存中,并通过将数据存储在多个节点上来实现数据的高可用性和可靠性。

2.层次化命名空间:Zookeeper的数据模型采用类似文件系统的层次化命名空间结构,每个节点都可以存储数据和子节点。

3.原子性操作:Zookeeper提供了一些原子性操作,如创建节点、删除节点、读取节点数据等,这些操作可以保证在分布式环境下的一致性。

4.顺序一致性:Zookeeper保证了客户端对于同一个节点的写操作会按照顺序被应用,这样可以保证分布式系统中的一致性。

核心概念Zookeeper包含以下几个核心概念:节点(Node)节点是Zookeeper中的基本单元,每个节点都有一个唯一的路径标识。

节点可以存储数据和子节点。

会话(Session)会话是客户端与Zookeeper服务器之间的连接,客户端通过会话与Zookeeper进行交互。

会话可以有一个超时时间,如果在超时时间内没有收到客户端的心跳消息,Zookeeper会认为该会话已失效。

ObserverObserver是一种特殊的Zookeeper服务器节点,它可以接收来自Leader节点的数据更新,但不参与数据的写操作。

Observer节点可以提高系统的读取性能和可扩展性。

Leader和Follower在Zookeeper集群中,有一个节点被选举为Leader节点,其他节点则成为Follower节点。

Leader节点负责处理客户端的写请求,而Follower节点则负责将Leader节点的数据更新同步到自己的数据库中。

Zookeeper的应用场景Zookeeper的应用场景非常广泛,以下是一些常见的应用场景:分布式锁Zookeeper提供了一种分布式锁的实现方式,多个客户端可以通过Zookeeper的节点来竞争锁资源,实现分布式系统中的互斥访问。

《Hadoop大数据开发实战》教学教案—05Zookeeper分布式协调服务

《Hadoop大数据开发实战》教学教案—05Zookeeper分布式协调服务

Hadoop大数据开发实战教学设计课程名称:Hadoop大数据开发实战授课年级:______ ______________ ___ 授课学期:___ ____ ________ ________ 教师姓名:______________ ________第一课时(认识Zookeeper、Zookeeper安装和常用命令)回顾内容,引出本课时主题1.回顾内容,引出本课时的主题上节学习了MapReduce分布式计算框架,本节将介绍关于Zookeeper的现关知识。

Zoopkeeper是Hadoop集群管理中必不可少的组件,提供了一套分布式集群管理的机制。

在Zoopkeeper 的协调下,Hadoop集群可以实现高可用,保证了集群的稳定性,对于实际生产环境来说,意义重大。

本节先带领大家认识一下Zookeeper,完成Zookeeper的安装,学习一些Zookeeper常用命令。

2.明确学习目标(1)能够理解Zookeeper的设计目的(2)能够理解Zookeeper的系统模型(3)能够掌握Zookeeper中的角色(4)能够掌握Zookeeper的工作原理(5)能够掌握Zookeeper单机模式(6)能够掌握Zookeeper全分布式(7)能够掌握Zookeeper服务器常用脚本知识讲解➢Zookeeper简介Zookeeper是开源的分布式应用程序协调服务。

Zookeeper提供了同步服务、命名服务、组服务、配置管理服务,较好地解决了Hadoop中经常出现的死锁、竞态条件等问题。

死锁是在执行两个或两个以上的进程时,由竞争资源或彼此通信而造成的阻塞现象。

竞态条件是指在执行两个或两个以上的进程时,进程执行顺序对执行后的结果存在影响。

Zookeeper可以与需要保证高可用的Hadoop组件搭配使用,例如,HA模式下的HDFS、HA模式下的YARN、HBase。

➢Zookeeper的设计目的Zookeeper提供一个协调方便、易于编程的环境,能够减轻分布式应用程序所承担的协调任务,其设计的主要体现在以下几个方面。

zookeeper概论

zookeeper概论ZooKeeper概论ZooKeeper是一个分布式的开源协调服务,它提供了一组简单而强大的API,用于管理和协调大规模分布式系统中的各种任务。

作为一个高性能、可靠的系统,ZooKeeper在分布式应用中扮演着重要的角色。

1. ZooKeeper的背景和起源ZooKeeper最初是由雅虎公司开发的,旨在解决分布式应用程序中的一些常见问题。

随着互联网规模的不断扩大,分布式系统的复杂性也大幅增加。

ZooKeeper的诞生为分布式应用的管理和协调提供了新的解决方案。

2. ZooKeeper的设计目标ZooKeeper的设计目标是提供一个高性能和可靠的分布式协调服务。

为了实现这一目标,ZooKeeper采用了一些关键的设计原则和机制,包括:- 分布式数据模型:ZooKeeper将数据存储在一个分层的命名空间中,类似于文件系统的结构。

这种设计使得数据的管理和访问更加方便。

- 顺序一致性:ZooKeeper保证所有的更新操作按照它们被提交的顺序进行。

这意味着客户端在读取数据时可以获得一致的视图。

- 原子性:ZooKeeper支持原子性操作,保证了对数据的读写操作是不可分割的。

这样可以避免并发操作引起的数据不一致问题。

- 高性能:ZooKeeper使用了一种基于内存的数据模型和高效的通信协议,以实现低延迟和高吞吐量的性能。

3. ZooKeeper的核心功能ZooKeeper提供了一些核心功能,使得分布式应用的管理和协调变得更加简单和可靠:- 分布式锁:ZooKeeper提供了一种基于互斥锁的机制,用于协调分布式系统中的并发访问。

通过使用分布式锁,可以确保只有一个客户端能够对共享资源进行操作,避免了数据竞争和冲突。

- 选举机制:ZooKeeper提供了一种基于选举的机制,用于选举一个领导者。

选举机制可以确保在分布式系统中只有一个节点负责协调和处理请求,提高了系统的可用性和可靠性。

- 通知机制:ZooKeeper可以监测数据的变化,并通知客户端。

zookeeper通俗讲解

zookeeper通俗讲解ZooKeeper是一个为分布式应用程序提供高效、可靠的协作框架的服务。

该框架使用了类似于文件系统树的名称空间,并提供了一些高级服务,如配置管理、同步/异步数据复制、分布式锁定和协调。

下面,我们将详细介绍ZooKeeper的使用,以及它的重要性。

第一步是建立ZooKeeper集群。

建立一个ZooKeeper集群需要至少三台服务器,这些服务器运行ZooKeeper后台进程,将数据存储在内存中或持久存储介质中。

您可以使用ZooKeeper提供的命令,如zookeeper-server-start和zookeeper-shell等等,来管理ZooKeeper集群。

第二步是使用ZooKeeper的API和命令行界面。

您可以使用ZooKeeper API来编写分布式应用程序,这些应用程序可以获取和设置数据、监视数据变化、使用分布式锁定等。

另一个选项是使用ZooKeeper的命令行界面,如zkCli.sh,它提供了一些命令来管理ZooKeeper树。

第三步是利用ZooKeeper提供的服务。

ZooKeeper提供了一些高级服务,如Leader选举、分布式锁、权限控制等等。

例如,Leader选举是一种协议,可以在分布式系统中选择一个服务器作为领导者。

这在处理分布式任务时非常有用,因为只有领导者才能执行特定任务。

总之,ZooKeeper是一个用于协调和管理分布式应用程序的协作框架,在分布式系统中发挥着重要作用。

它通过提供高效、可靠的服务来使分布式应用程序的编写和管理更加简单和有效。

如果您正在开发或运行分布式应用程序,那么ZooKeeper肯定是一个值得考虑的解决方案。

zookeeper的基本概念

zookeeper的基本概念Zookeeper的基本概念Zookeeper是一个分布式应用程序协调服务,为分布式系统提供高性能、高可靠性的协调机制。

它可以用于统一命名服务、分布式协调、分布式锁、分布式一致性等各种分布式系统的底层原语。

一、Zookeeper的背景和作用随着互联网的快速发展,分布式系统成为了现代互联网应用的重要组成部分。

分布式系统由多个协同工作的节点组成,节点之间需要进行通信和协调才能完成任务。

而在分布式系统中,一致性问题和协调问题是非常重要的。

一致性问题指的是分布式系统中的各个节点如何达成共识,保证数据在分布式环境中的一致性和准确性。

协调问题则是指分布式系统中的各个节点如何合作,保证任务的有序执行和资源的正确分配。

在分布式系统中,为了解决一致性和协调问题,通常需要引入一个可靠的、高性能的分布式协调服务。

Zookeeper就是这样一个分布式协调服务。

它可以提供一个分布式、同步的数据一致性模型,以及一个具备高性能和高可靠性的分布式锁机制。

通过Zookeeper,开发人员可以在分布式系统中实现数据的统一命名、配置管理、分布式锁、分布式队列等功能,从而简化了分布式系统的开发和管理。

二、Zookeeper的特点和设计原则Zookeeper具有以下几个特点和设计原则:1. 简单易用:Zookeeper提供了简单而一致的编程接口,使得开发人员可以轻松地使用它来解决分布式系统中的一致性和协调问题。

2. 高性能和低延迟:Zookeeper被设计为高性能的分布式系统,支持高并发的读写操作,并提供低延迟的数据访问。

3. 可扩展性:Zookeeper采用了分布式架构,可以通过增加新的Zookeeper节点来扩展系统的性能和容量。

4. 可靠性和可用性:Zookeeper采用了多数派原则来保证系统的可用性,只有超过半数的节点处于正常工作状态时,系统才能正常运行。

5. 严格顺序性:Zookeeper为节点之间的操作提供了严格的顺序性保证,即客户端发起的每个写操作都会被按照顺序应用到Zookeeper上。

zookeeper基础概念

zookeeper基础概念
ZooKeeper是一个开源的分布式协调服务,它提供了一个简单的接口和可靠的协调机制,用于构建分布式应用程序和服务。

ZooKeeper的基础概念涉及以下几个方面:
1. 分布式系统协调,ZooKeeper用于解决分布式系统中的一致性问题,例如分布式锁、选举、配置管理等。

它可以帮助不同的分布式组件协调它们的操作,确保它们能够按照一致的顺序进行。

2. 数据模型,ZooKeeper提供了一个类似于文件系统的数据模型,用户可以在其上创建节点(称为znode),每个znode可以存储少量数据,并且可以具有关联的子节点。

这种层次结构的数据模型使得ZooKeeper可以用于组织和管理分布式系统中的信息。

3. 一致性,ZooKeeper保证了强一致性,即当客户端向ZooKeeper进行写操作后,所有的客户端都将能够读取到最新的数据。

这种一致性保证使得ZooKeeper成为一个可靠的协调服务。

4. Watch机制,ZooKeeper允许客户端注册对znode的watcher,当znode发生变化时,客户端将收到通知。

这使得客户端
可以实时地获取关于数据变化的通知,从而可以及时地做出相应的处理。

5. 顺序一致性,ZooKeeper保证了对于相同的更新操作,它们将会按照顺序被应用到znode上,这种顺序一致性对于实现分布式锁等场景非常重要。

总的来说,ZooKeeper作为一个分布式协调服务,通过提供一致性、数据模型、watch机制等特性,帮助分布式系统实现可靠的协调和管理。

这些基础概念对于理解和使用ZooKeeper非常重要,也是构建分布式应用程序时必须要考虑的因素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Title Works About Help
Zookeeper的Watch机制
2. Watch机制的特点
事件封装
先注册再触发
一次性触发
异步发送
Title Works About Help
Zookeeper的Watch机制
3.Watch机制的通知状态和事件类型
同一个事件类型在不同的连接状态中代表的含义有所不同。 常见的连接状态和事件类型如下所示。
PART03
Zookeeper的 Watch机制
Zookeeper的Watch机制
1. Watch机制的简介
在ZooKeeper 中,引入了Watch机制来实现这种分布式的通知功能。 ZooKeeper允许客户端向服务端注册一个Watch监听,当服务端的一些事件触 发了这个Watch,那么就会向指定客户端发送一个事件通知,来实现分布式的 通知功能。
节点被删除
Title Works About Help
PART04
Zookeeper的 选举机制
Zookeeper的选举机制
1. 选举机制的简介
Zookeeper为了保证各节点的协同工作,在工作时需要一个Leader角色, 而Zookeeper默认采用FastLeaderElection算法,且投票数大于半数则胜出的 机制。
Title Works About Help
Zookeeper的选举机制
1. 选举机制的简介
设置集群myid参数时,参数分别为服 务器1、服务器2、服务器3,编号越大 FastLeaderElection算法中权重越大。
服务器ID
选举ID
选举过程中,Zookeeper服务器有 四种状态,分别为竞选状态、随从 状态、观察状态、领导者状态。
Title Works About Help
Zookeeper的选举机制
2. 选举机制的类型
1. 全新集群选举 假设有5台编号分别是1~5的服务器,全新集群选举过程如下:
步骤5: 服务器5启动,同服务器4一样,均成为追随者状态。
Title Works About Help
Zookeeper的选举机制
Title Works About Help
Zookeeper的选举机制
2. 选举机制的类型
1. 全新集群选举 假设有5台编号分别是1~5的服务器,全新集群选举过程如下:
服务器3启动,先给自己投票;其次,与之前启动的服务器 步骤3: 1、2交换信息,服务器3的编号最大,服务器3胜出,服务
器1、2会将票投给服务器3,此时投票数正好大于半数,所 以服务器3成为领导者状态,服务器1、2成为追随者状态。
Zookeeper 是 一 个 分 布 式 协 调 服 务 的 开 源 框 架 , 它 是 由 Google 的 Chubby开源实现。Zookeeper主要用来解决分布式集群中应用系统的一致性 问题和单点故障问题,例如如何避免同时操作同一数据造成脏读的一致性问题 等。
Title Works About Help
初识Zookeeper
2. Zookeeper的特性
Zookeeper具有全局数据一致性、可靠性、顺序性、原子性以及实时性, 可以说Zookeeper的其他特性都是为满足Zookeeper全局数据一致性这一特 性。
可靠性
全局数据 一致性
数据更新 原子性
顺序性
实时性
Title Works About Help
Title Works About Help
Zookeeper的选举机制
2. 选举机制的类型
1. 全新集群选举 假设有5台编号分别是1~5的服务器,全新集群选举过程如下:
服务器2启动,先给自己投票;其次,在集群中启动 步骤2: Zookeeper服务的机器发起投票对比,它会与服务器1交换
结果,由于服务器2编号大,服务器2胜出,服务器1会将票 投给服务器2,此时服务器2的投票数并没有大于集群半数, 两个服务器状态依旧是竞选状态。
Title Works About Help
Zookeeper的选举机制
2. 选举机制的类型
1. 全新集群选举 假设有5台编号分别是1~5的服务器,全新集群选举过程如下:
服务器1启动,先给自己投票;其次,发投票信息,由于其 步骤1: 它机器还没有启动所以它无法接收到投票的反馈信息,因此
服务器1的状态一直属于竞选状态。
PART02
数据模型
数据模型
Zookeeper 的 数 据 存 储 结 构 和 标 准 文 件系统非常类似,拥有一个层次命名空间, 用斜杠进行分割,都采用树形层次结构,那 Zookeeper是由什么组成树呢?
Title Works About Help
数据模型
1. 数据存储结构
Zookeeper是由节点组成的树,树中的每个节点被称为—Znode。每个节 点都可以拥有子节点。每一个Znode默认能够存储1MB的数据,每个Znode都 可 以 通 过 其 路 径 唯 一 标 识 , 如 图 中 第 三 层 的 第 一 个 Znode , 它 的 路 径 是
Title Works About Help
章节概要
Apache Zookeeper旨在减轻构建健壮的分布式系统的服务。Zookeeper是基于分布式计 算的核心概念而设计的,主要目的是给开发人员提供一套容易理解和开发的接口,从而简化分布 式系统构建的服务。
本章通过对Zookeeper的简介、Zookeeper的数据模型、Zo okeeper的机制、Zookeeper集群的部署、Zookeeper的操作以 及Zookeeper的典型应用场景进行详细讲解。
Title Works About Help
Zookeeper分布式集群部 署
Zookeeper安装包的下载安装
由于Zookeeper集群运行需要Java环境支持,所以要提前安装JDK(对于 jdk的下载安装这里不作赘述)。Zookeeper安装包的下载安装,具体步骤如下:
初识Zookeeper
3. Zookeeper集群角色
Zookeeper集群是一个主从集群,它一般是由一个Leader(领导者)和 多个Follower(跟随者)组成。此外,针对访问量比较大的Zookeeper集群, 还可新增Observer(观察者)。Zookeeper集群中的三种角色各司其职,共 同完成分布式协调服务。
Title ookeeper
3. Zookeeper集群角色
Follower负责处理客户端的非事务(读操 作)请求,如果接收到客户端发来的事务性请 求,则会转发给Leader,让Leader进行处理, 同时还负责在Leader选举过程中参与投票。
Leader
Follower
连接状态 状态含义
事件类型
事件含义
Disconnected
连接失败
NodeCreated
节点被创建
SyncConnected
连接成功
NodeDataChanged
节点数据变更
AuthFailed
认证失败
NodeChildrentChanged 子节点数据变更
Expired
会话过期
NodeDeleted
2. 选举机制的类型
2. 非全新集群选举
统计逻辑时钟是否相同,逻辑时钟小,则说明途中可能存在宕机问题, 步骤1:
因此数据不完整,那么该选举结果被忽略,重新投票选举。 统一逻辑时钟后,对比数据ID值,数据ID反应数据的新旧程度,因此 步骤2: 数据ID大的胜出。
步骤3: 如果逻辑时钟和数据ID都相同的情况下,那么比较服务器ID(编号), 值大则胜出。
永久节点
数据模型
3. Znode的属性
Zookeeper中的每个Znode都包含了一系列的属性,具体属性如下所示。
属性名称
czxid ctime mzxid mtime pZxid
cversion
相关说明
节点被创建的zxid
节点被创建的时间
节点最后一次的修改的Zxid值 节点最后一次的修改时间 与该节点的子节点最后一次修改的 Zxid值 子节点被修改的版本号
CONTENTS
PART 01
初识Zookeeper
PART 02
数据模型
PART 03
Zookeeper的 Watcher机制
PART 04
Zookeeper的选举 机制
PART 05
Zookeeper分布式 集群部署
PART01
初识Zookeeper
初识Zookeeper
1. Zookeeper的简介
Observer
Title Works
About
Leader是Zookeeper集群工作的核 心,也是事务性请求(写操作)的唯一调 度和处理者,保证集群事务处理的顺序性, 同时负责进行投票的发起和决议,以及更 新系统状态。
Help
Obser ver 负 责 观 察 Zookeeper 集 群 的 最 新 状态的变化,并且将这些状态进行同步。对于非 事务性请求可进行独立处理;对于事务性请求, 则会转发给Leader服务器进行处理。它不参与任 何形式的投票,只提供非事务性的服务。
临时节点
• 该生命周期依赖于创建它们的会话,一旦会话结束,临时节点将会 被自动删除,也可以手动删除。虽然每个临时的Znode都会绑定一 个客户端,但它们对所有的客户端还是可见的。需要注意的是临时 节点不允许拥有子节点。
Title Works About Help
• 该生命周期不依赖于会话,并且只有在客户端显示执行 删除操作的时候,它们才能被删除。
Title Works About Help
Zookeeper的选举机制
2. 选举机制的类型
相关文档
最新文档