Zookeeper基础教程

Zookeeper基础教程

资料来源:Zookeeper Tutorial (tutorialspoint.com)

zookeeper就是Hadoop生态动物园的管理员

Zookeeper Tutorial

1. Zookeeper-概述

ZooKeeper是一种分布式协调服务,用于管理大型主机集群(large set of hosts)。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper用它简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用逻辑,而不用担心应用的分布式特性。

ZooKeeper框架最初是在Yahoo!,以便以一种简单而稳健的方式访问他们的应用程序。后来,Apache ZooKeeper成为Hadoop、HBase和其他分布式框架使用的有组织服务的标准。例如,Apache HBase使用ZooKeeper来跟踪分布式数据的状态。本教程解释了ZooKeeper的基础知识,如何在分布式环境中安装和部署ZooKeeper集群,最后以使用Java编程和示例应用程序的几个示例结束。


在进一步讨论之前,了解一些关于分布式应用程序的知识是很重要的。因此,让我们从快速概述分布式应用程序开始讨论。

分布式应用

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

通过将分布式应用程序配置为在更多系统上运行,可以进一步减少完成任务的时间。运行分布式应用程序的一组系统称为集群(Cluster),在集群中运行的每台机器称为节点(Node)。

分布式应用程序有两个部分,服务器(Server)和客户端(Client)应用程序。服务器应用程序实际上是分布式的,并且具有公共接口,因此客户机可以连接到集群中的任何服务器并获得相同的结果。客户机应用程序是与分布式应用程序交互的工具。如下图所示。

Distributed Application


分布式应用程序的优点

可靠性−单个或部分系统故障不会导致整个系统故障。

可扩展性-性能可以在需要时增加更多的机器,在应用程序的配置中进行微小的更改,而不会停机。

透明性-隐藏系统的复杂性,显示其作为一个单一的实体/应用程序。


分布式应用的挑战

竞态条件(Race condition)−:两台或两台以上的机器同时执行某项任务,而该任务在任何给定时间内实际上只需要一台机器来完成。例如,共享资源在任何给定时间只能由一台机器修改。聪明的你有没有想起操作系统的知识?(doge)

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

不一致性−数据部分失效。


那么ZooKeeper存在的意义是什么?

Apache ZooKeeper是集群(一组节点)使用的服务,通过强大的同步技术在集群(一组节点)之间进行协调并维护共享数据。ZooKeeper本身就是一个分布式应用程序,为编写分布式应用程序提供服务。

ZooKeeper提供的常用服务有:

命名服务−通过名称识别集群中的节点。它类似于DNS,但针对的是节点。

配置管理−接入节点最新的系统配置信息。

集群管理−实时管理集群中节点的加入/退出和节点状态。

Leader选举−选举节点作为Leader进行协调。

锁定同步服务−数据修改时锁定。这种机制可以帮助您在连接其他分布式应用程序(如Apache HBase)时自动进行故障恢复。

高可靠性的数据注册表−即使一个或几个节点宕机,数据仍然可用。

分布式应用程序提供了很多好处,但也带来了一些复杂和难以破解的挑战。ZooKeeper框架提供了一个完整的机制来克服所有的挑战。使用故障安全同步方法(fail-safe synchronization approach)处理竞争条件和死锁。另一个主要缺点是数据不一致,ZooKeeper通过**原子性(atomicity)**解决了这个问题。


Zookeeper的优点

简单的分布式协调过程

同步−服务器进程间互斥协作。这个过程有助于在Apache HBase中进行配置管理。

有序的消息(Ordered Messages)

序列化−按照指定的规则对数据进行编码。确保应用程序始终如一地运行。这种方法可以在MapReduce中用于协调队列以执行正在运行的线程。

可靠性

原子性-数据传输完全成功或完全失败,但没有事务是部分的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/363676.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新交友盲盒+付费进群二合一源码+视频教程

盲盒交友脱单系统 包括项目前端和后端的讲解、宝塔面板的安装教程,以及盲盒交友和付费进群二合一的搭建教程。无论你是技术小白还是有一定技术基础,都能轻松搭建出属于自己的盲盒交友平台。

如何利用React和Python构建强大的网络爬虫应用

如何利用React和Python构建强大的网络爬虫应用 引言: 网络爬虫是一种自动化程序,用于通过互联网抓取网页数据。随着互联网的不断发展和数据的爆炸式增长,网络爬虫越来越受欢迎。本文将介绍如何利用React和Python这两种流行的技术&#xff0c…

日立EX-PROII+系列全新升级,智慧随心控畅享新生活

随着科技的进步,各种智能家电也开始走入人们的生活,而在这个领域,日立用技术创新生活,不断为新时代注入活力,推出日立 EX-PROII系列家用净化中央空调,贯彻“小身材,大能量”核心设计理念&#x…

Redis 缓存预热、缓存雪崩、缓存击穿、缓存穿透业务实践

0、前言 本文所有代码可见 > 【gitee code demo】 本文会涉及 缓存预热、缓存雪崩、缓存击穿、缓存穿透介绍和解决方案业务实践 1、缓存预热 1.1、描述 提前将热点数据加载到缓存,提前响应,降低后端数据源访问压力 1.2、实践 Autowiredprivate R…

[推荐]有安全一点的网贷大数据信用查询网站吗?

在互联网金融日益发展的今天,网贷大数据查询网站成为了许多人申贷前的必备工具。随着使用这些网站的人群越来越多,安全问题也逐渐浮出水面。最近,就有许多用户反馈自己的个人信息在网贷大数据查询网站上被泄露。为了解决这一问题,…

2毛钱不到的2A同步降压DCDC电压6V频率1.5MHz电感2.2uH封装SOT23-5芯片MT3520B

前言 2A,2.3V-6V输入,1.5MHz 同步降压转换器,批量价格约0.18元 MT3520B 封装SOT23-5 丝印AS20B5 特征 高效率:高达 96% 1.5MHz恒定频率操作 2A 输出电流 无需肖特基二极管 2.3V至6V输入电压范围 输出电压低至 0.6V PFM 模式可在…

Open WebUI升级到最新版本

背景介绍 open-webui是一个用于构建Web用户界面的开源库,它仿照 ChatGPT 的图形化界面,可以非常方便的调试、调用本地大语言模型。 目前该开源库更新较为活跃,从3个月前的版本(v0.1.108)到截止到2024年6月中旬发布的…

2006年下半年软件设计师【上午题】试题及答案

文章目录 2006年下半年软件设计师上午题--试题2006年下半年软件设计师上午题--答案2006年下半年软件设计师上午题–试题

OCR训练和C#部署英文字符训练

PaddleOCR是一个基于飞桨开发的OCR(Optical Character Recognition,光学字符识别)系统。其技术体系包括文字检测、文字识别、文本方向检测和图像处理等模块。以下是其优点: 高精度:PaddleOCR采用深度学习算法进行训练…

Java校园跑腿小程序校园代买帮忙外卖源码社区外卖源码

🔥校园跑腿与外卖源码揭秘🔥 🚀 引言:为何需要校园跑腿与外卖源码? 在快节奏的校园生活里,学生们对于便捷、高效的服务需求日益增长。校园跑腿和外卖服务成为了解决这一需求的热门选择。然而,…

爬虫笔记17——selenium框架的使用

selenium框架的使用 1、python程序安装selenium框架2、下载Chrome谷歌驱动3、selenium的基本使用4、多个标签页切换顺序混乱的问题 1、python程序安装selenium框架 # 在安装过程中最好限定框架版本为4.9.1 # pip install selenium 没有制定版本,非镜像下载也会比较…

秋招突击——第七弹——Redis快速入门

文章目录 引言Redis是什么 正文对象String字符串面试重点 List面试考点 压缩列表ZipList面试题 Set面试题讲解 Hash面试重点 HASHTABLE底层面试考点 跳表面试重点 ZSET有序链表面试重点 总结 引言 在项目和redis之间,我犹豫了一下,觉得还是了解学习一下…

设计模式5-策略模式(Strategy)

设计模式5-策略模式 简介目的定义结构策略模式的结构要点 举例说明1. 策略接口2. 具体策略类3. 上下文类4. 客户端代码 策略模式的反例没有使用策略模式的代码 对比分析 简介 策略模式也是属于组件协作模式一种。现代软件专业分工之后的第一个结果是框架语音应用程序的划分。组…

金顺心贸易有限公司简介

金顺心贸易有限公司成立于2015年,注册地位于风景如画的广西壮族自治区防城港市东兴市。 金顺心贸易如他们的名字一样,有着实实在在的业绩和口碑的。他们专注于国际贸易,主营越南进口食品:果汁饮料、春卷皮、调味品、汤底、米粉、…

RabbitMQ消息队列 安装及基本介绍

一.MQ介绍 Message Queue (MQ)是一种跨进程的通信机制,用于在系统之间进行传递消息。MQ作为消息中间件,可以进行异步处理请求,从而减少请求响应时间和解耦 1.1 应用场景 1.1.1 系统之间通过MQ进行消息通信&#xff0…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-41目标检测数据集

41目标检测数据集 import os import pandas as pd import torch import torchvision import matplotlib.pylab as plt from d2l import torch as d2l# 数据集下载链接 # http://d2l-data.s3-accelerate.amazonaws.com/banana-detection.zip# 读取数据集 #save def read_data_b…

Windows 系统 Solr 8.11.3 安装详细教程(最新)

Windows 系统 Solr 8.11.3 安装详细教程 说明什么是Solr下载与解压如何启动启动命令:浏览器中打开dashboard其他命令查看关闭命令 说明 本次只是简单安装,为了在项目中使用,如果在公开服务器中安装需要更改开放端口,配置权限等。 …

【PL理论深化】(8) Ocaml 语言:元组和列表 | 访问元组中的元素 | 列表中的 head 和 tail | 基本列表操作符

💬 写在前面:本章我们将探讨 OCaml 中的元组(tuple)和列表(list),它们是函数式编程语言中最常用的数据结构。 目录 0x00 元组(Tuple) 0x01 访问元组中的元素 0x02 列表&…

《单片机》期末考试复习-学习笔记总结

题型 问答题(15分)编程题(65分)编程题1(20分)编程题2(45分)设计题(20分)一、问答题 1.1.单片机概念和特点 1.2. 51单片机的中断结构 1.3.主从式多机通讯的概念及其工作原理 多机通信是指两台以上计算机之间的数据传输,主从式多机通信是多机通信系统中最简单的一种,…

SerDes介绍以及原语使用介绍(2)OSERDESE2原语仿真

文章目录 前言一、SDR模式1.1、设计代码1.2、testbench代码1.3、仿真分析 二、DDR模式下2.1、设计代码2.2、testbench代码2.3、仿真分析 三、OSERDES2级联3.1、设计代码3.2、testbench代码3.3、代码分析 前言 上文通过xilinx ug471手册对OSERDESE有了简单的了解,接…