hadoop学习之ZooKeeper

DeepSeek-V3本地Docker容器化部署 通过以上步骤,你可以在本地上成功通过容器化部署DeepSeek-V3。安装完成后,启动Docker Desktop。如果需要后台运行,可以加上。 阅读详情

1. 什么是ZooKeeper?

ZooKeeper是一组工具,用来配置和支持分布式调度。以我的理解,就是一个网管软件和库,一个重要功能就是对所有节点进行配置的同步。

它能处理分布式应用的“部分失败”问题。


什么是部分失败?

部分失败是分布式处理系统的固有特征,即发送者无法知道接收者是否收到消息,它出现的可能性有 网络传输出现问题、接收进程已经死掉等。


ZooKeeper是Hadoop的分布式协调服务,ZooKeeper是Hadoop生态系统的一部分,但又远不止如此,它能支持更多类似的分布式平台和系统,如Jubatus,Cassender等等。

而且HBase明确指出至少需要一个ZooKeeper实例的支持。


2. ZooKeeper有什么特征?

其核心是一个精简的文件系统;

其原语是一组丰富的“构件”,可用于实现很多数据结构和协议,如分布式队列,分布式锁,同一级中的领导者选举;

能避免单点故障,高可用性;

松耦合交互方式:各进程间不必相互了解,同步等;

是一个资源库,对通用协议提供一个开源的共享存储库。


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

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

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

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


4. ZooKeeper的结构,及其相关的一些基本操作

ZooKeeper需要一组服务器来部署,为客户端提供服务。每个客户端会找到其中的一台服务器。问题:如何维护这组服务器?

首先,需要高可靠性。不能使用一个单节点来维护这个服务器列表,这是因为这个节点坏了,整个系统就坏了,可靠性差;而且故障的服务器自身无法将其从列表中删除。

所以,ZooKeeper需要一个具有主动修改能力的、高可靠性的服务来维护这个列表。




ZooKeeper是一个层次结构。类似一个文件系统的结构,有目录和文件的包含关系。

有一个父节点,包含一系列子节点。

父节点的命名是组名,子节点的命名就是组成员名了。

树形结构:树中的节点被称为znode,znode


ZooKeeper的操作,提供的方法、接口:

create():创建一个znode节点,其必须要有父节点,加入一个组:只需要指定/+groupname + / + membername,然后创建即可

delete():删除一个znode,其必须无子节点。需要提供路径和版本号参数。

exists():测试一个znode是否存在

sync():将客户端的znode视图与ZooKeeper同步

getACL, setACL: ACL:access control list

getChild(): 获取一个znode的子节点列表,如:zk.getChildren(path, false)

getData, setData:获取或者设置一个znode的数据

其中更改操作,需要更新znode的版本号才能完成。


5. 有哪些客户端可用的 ZooKeeper的API?

针对以上ZooKeeper的操作,Zookeeper也为客户端提供了对应的API。有两种绑定的语言Java和C,并提供同步和异步两种方式,功能都相同。


并且,Shell提供了一系列命令,可直接执行,如下

[zkshell: 0] help
ZooKeeper host:port cmd args
        get path [watch]
        ls path [watch]
        set path data [version]
        delquota [-n|-b] path
        quit
        printwatches on|off
        createpath data acl
        stat path [watch]
        listquota path
        history
        setAcl path acl
        getAcl path
        sync path
        redo cmdno
        addauth scheme auth
        delete path [version]
        deleteall path
        setquota -n|-b val path

6. ZooKeeper的数据模型

1) 树形结构、每个znode节点可以存储数据、并有一个关联的ACL。但znode存储的数据被限制在1MB内。

2)数据访问具有原子性,要么成功,要么全部失败。

3)znode通过路径被引用。类似于linux的文件路径。

4)znode有两种,短暂性的和持久性的。短暂性的会在客户端结束后删除

5)顺序号:命名时,zookeeper在名字中指定了顺序号,这个在创建znode时,设置顺序标识就会产生,顺序号,可用于全局排序

6)观察:是一种机制,znode发生变化时,观察机制可以通知客户端(类似于观察者模式),观察注册后只触发一次

一般在读操作exists、getChildren和getData上设置观察,然后这些观察在create、delete、setData时触发。

7)ACL

每个znode被创建都会带有一个ACL列表,用于检验权限:谁,可以对它自己执行,何种操作

ACL依赖于ZooKeeper的身份依赖机制。

digest : 利用用户名和密码来识别客户端

host: 通过主机名 hostname 来识别客户端

ip : 利用ip来识别客户端


7. ZooKeeper的实现方式

两种模式:

独立模式:适用于测试环境,甚至单元测试。只有一个ZooKeeper服务器,但是不保证高可用性和恢复性。

复制模式:适用于生产环境,通过复制来保证高可用性和恢复性,保证半数以上的机器处于可用状态。

其实现使用Zab协议,包括两个阶段:

阶段一:领导者选举: 一台机器选为leader,其他为follower,一旦半数以上的机器与leader的同步状态相同,此阶段完成。

阶段二:原子广播:所有写请求给leader,然后再由leader广播给follower,且当半数以上follower完成同步后,leader才提交这个更新,然后客户端才收到完成的响应。

若领导者故障,则由follower中选出新的leader。

以上两个过程可以无限循环执行。


8. ZooKeeper如何提供一致性保证?

问题:一个跟随者可能滞后领导者几个更新。

若一个修改/更新需要提交,那么就需要半数以上的机器已将其持久化。每一个对znode树的更新,都会有个全局唯一ID号:zxid,这个ID号用于查询更新的位置。因为ZooKeeper会对所有更新进行排序。

ZooKeeper的更新具有原子性,要么成功,要么失败,不存在部分成功。一旦成功,更新便具有持久性。

但是不同的客户端在读取数据时,由于ZooKeeper外部通信机制的原因,其客户端的ZooKeeper状态可能是不一致的,但这种现象与ZooKeeper的一致性是兼容的。


9. 什么是会话?

一个客户端与一台ZooKeeper服务器建立一个连接,就是会话,每个会话就有一个时间限制,超时就需要重新连接。

客户端尝试链接ZooKeeper服务器失败时,会依次尝试其他服务器,直到成功或者全部失败。

心跳(ping请求):会话空闲时,发送心跳来保证会话不过期,并能检测出服务器故障。

自动故障切换:客户端在连接的服务器发生故障后,能自动切换到另外一台服务器,并且会话继续有效。


10. ZooKeeper有哪些状态?

ZooKeeper对象在一个生命周期内,有好几个状态。

getStates()方法能查询出ZooKeeper的状态。

Connecting : 新建ZooKeeper实例时

Connected : 建立连接后

SyncConnected: 使用“观察”机制,状态转换时

Disconnected: 断开后,状态。一般连接丢失后,它会自动尝试重新连接。

Closed : ZooKeeper被认为不是活跃的,不可用了。


以上这些概念仅仅是ZooKeeper学习的基本东西,还需要构建真正的应用、编写程序去实践。

使用ZooKeeper可以实现很多分布式的数据结构和协议,如barrier, 队列,和两阶段交换协议。

从硬件到软件:TSMaster报文过滤全链路配置指南(含同星设备适配) 本文详细介绍了TSMaster平台下CAN/LIN/FlexRay总线的报文过滤全链路配置指南,特别针对同星TC1016等硬件的兼容性进行实战演示。从硬件层预过滤到软件层可编程过滤,提供五维过滤体系构建方法,帮助工程师提升车载诊断与总线分析效率。重点解析混合总线过滤策略优化及诊断场景下的特殊过滤方案。 阅读详情

相关推荐

致远OA系统表单相关操作记录(一)

致远OA系统表单相关操作

weixin_59666050的博客 6095

hadoop配置zookeeper ACL认证

转载来自lyl 1.首先在hdfs的 core-site.xml添加如下 Eg: <property>    <name>ha.zookeeper.quorum</name>    <value>hadoop001:2181,hadoop012:2181,hadoop011:2181</value> </property...

那又怎样?的博客 2914

BU61580芯片实战:手把手教你配置1553B通信的BC端寄存器(含代码解析)

本文详细解析了BU61580芯片在1553B通信中的BC端寄存器配置方法,包括关键寄存器功能映射、初始化代码解析及回环测试实现。通过实战案例和代码示例,帮助开发者快速掌握1553B通信的核心技术,提升系统稳定性和通信质量。

a1b2c的博客 223

hadoop和zookeeper的安装与配置

hadoop和zookeeper的安装与配置 1. 安装好linux虚拟机、Xshell、Xftp 2. 解压安装jdk、hadoop、zookeeper的压缩包 3. 配置linux主机设置与环境 4. 编写并添加hadoop的配置 5. 编写zookeeper的配置 6. 克隆机器(奇数) 7. 启动集群 ...

G_GUi的博客 4664

MATLAB与图像处理(一):图像中结构张量的求法(Structure Tensor)

1.结构张量的作用:       能够区分图像中的平坦区域,边缘,角点; 2.图像中的结构张量的定义    1)是一个矩阵;    2)与图像的水平,垂直梯度有关,定义如下: 在MATLAB中,可以用如下语句求解:[Ix,Iy]=gradient(Image); 3)求出结构张量矩阵的行列式,和迹(矩阵对角线之和)   行列式:K=det(E);   迹:  

wenyusuran的专栏 5239

编译zlib库给IOS平台用

在弹出的下面对话框中选择Unix Makefiles ,然后点击(Done)完成。使用 lipo与otool查看库类型为arm64,现在可在ios平台使用该库了。zlib自带CMakeLists.txt 所以用CMake-GUI来生成。修改为与系统当前安装的cmake版本 (如:3.22.1)选择zlib源码目录及输出目录,输入下图的CMAKE参数。点击Configure,在弹出的对话框中选择Yes。cmake --install . 进行安装。cmake --build . 进行编译。

993

Hadoop环境搭建(10)--Zookeeper环境搭建

在zookeeper安装之前,先检查防火墙是否关闭 ①防火墙状态的查看,命令: systemctl status firewalld ②关闭防火墙,命令: systemctl stop firewalld ③设置开机防火墙不启动,命令: systemctl disable firewalld 1、将zookeeper安装包拉到/opt/software/文件夹中 安装包版本:apache-zookeeper-3.5.5-bin.tar.gz 2、解压zookeeper安装包到

m0_56841551的博客 1241

西南科技大学数字电子技术实验七(4行串行累加器设计及FPGA实现)FPGA部分

/在k=1时输入1,并在k=0时运算。//在k=1时输入0,并在k=0时运算。//在k=1时输入1,并在k=0时运算。//在k=1时输入0,并在k=0时运算。//在k=1时输入1,并在k=0时运算。//在k=1时输入1,并在k=0时运算。//在k=1时输入0,并在k=0时运算。//在k=1时输入0,并在k=0时运算。三、程序清单(每条语句必须包括注释或在开发窗口注释后截图)四、综合、管脚分配、生成输出文件、下载(所有步骤截图)五、仿真程序清单、波形(波形截图必做,截图!.k(k),//开关。

Welcome To My6n Blog 4330

Hadoop-Zookeeper环境配置

6: Zookeeper安装 集群规划 服务器IP 主机名 myid的值 192.168.174.100 node01 1 192.168.174.110 node02 2 192.168.174.120 node03 3 第一步:下载zookeeeper的压缩包,下载网址如下 http://archive.apache.org/dist/zookeeper/ 我们在这个网址下载我们使用的zk版本为3.4.9 下载完成之后,上传到我们的linux的/export/software

Xiaoweidumpb 351

看懂 SAP S/4HANA 产品主数据里的 GTIN:一串号码背后的全球商品识别与业务协同

SAP S/4HANA中的GTIN管理是企业供应链运营的关键环节。本文深入解析GTIN的业务内涵及其在SAP系统中的实现方式:1) GTIN是全球通用的商品标识码,不同于企业内部物料编码;2) SAP主数据中GTIN与计量单位强绑定,需为不同包装层级维护独立GTIN;3) 同一产品可能因渠道、供应商差异存在多个GTIN;4) GTIN贯穿零售POS、仓储管理、EDI订单等核心业务流程;5) 通过典型案例说明错误维护GTIN将导致收银异常、仓库作业低效等运营问题。文章强调GTIN管理需结合包装层级、计量单位等

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1431

RK3588开发板NPU加速YOLO目标检测完整实战教程

🚀 RK3588开发板NPU加速YOLO目标检测实战 本文详细介绍了如何在瑞芯微RK3588开发板上利用内置NPU加速YOLO目标检测的全流程: 1️⃣ 环境准备:配置RKNPU2 SDK和aarch64交叉编译器,搭建Ubuntu开发环境 2️⃣ 模型转换:从ONNX格式转换为专用RKNN模型,适配NPU硬件特性 3️⃣ 性能对比:NPU推理将处理时间从833ms降至50ms以下,帧率提升16倍 4️⃣ 实战应用:支持图像/视频流/摄像头实时检测,提供完整编译和运行命令 关键优势:专为边缘AI设计的6T

FJN110的博客 929

结合ZooKeeper配置Hadoop HA

参考官方文档http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html 架构图 hdfs-site.xml配置 <configuration> <property> ...

weixin_30485291的博客 126

机器翻译的评价标准:BLEU、ROUGE等指标说明及代码实现

机器翻译领域常用的自动评价指标主要包括BLEU、ROUGE、METEOR和COMET四大类。BLEU基于n-gram精确率和短句惩罚,ROUGE关注召回率,METEOR结合精确率和召回率并考虑同义词,COMET则利用预训练模型计算语义相似度。这些指标各有特点:BLEU适用于机器翻译,ROUGE对长句友好,METEOR更接近人工评分,COMET无需参考译文。代码实现上,sacrebleu、rouge-score等库提供了便捷的计算方式。新兴趋势包括基于BERT等模型的语义评估和大语言模型评估器,但传统指标仍占

数据知道的博客 9416

学习Hadoop——Zookeeper 介绍

Zookeeper 是一个开源的分布应用程序协调服务,来自于Google 一个开源的实现,是Hadoop 和HBase 的重要组件。Zookeeper 可以为分布式应用提供一致性服务,功能包括:配置服务、名字服务、分布式同步、组服务等等。Zookeeper 的目标是封装好复杂易出错的关键服务,将简单易用的接口和性能高效,功能稳定的系统提供给用户。Zookeeper 包含一个简单的原语集,提供Jav...

y805805的博客 5183

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Hadoop学习之路——zookeeper搭建

zookeeper搭建流程篇 目录 zookeeper搭建流程篇 一、zookeeper搭建准备 1、软件准备 2、安装JDK 3、zookeeper安装与配置 一、zookeeper搭建准备 zookeeper是一个资源调度管理器,也就是说,HDFS需要它来进行分布式协调。可以用来实现:负载均衡、分布式协调/通知、集群管理、master选举等等。对于HDFS来说,它是不可缺少的一部分。 1、软件准备 jdk:jdk1.8.0_161/ jdk zookeeper:zookeeper-

淮南亦生橘的博客 1168

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

学习Hadoop——Zookeeper安装细说

Zookeeper 安装方式有三种,分别为单机模式,伪集群模式,集群模式 1.单机模式:Zookeeper 只运行在一台服务器上,适合测试环境 2.伪集群模式:在一台物理机上运行多个Zookeeper 实例 3.集群模式:Zookeeper 运行在一个集群上,适合生产环境,这个计算机集群被称为一个“集群合体“ Zookeeper 通过复制来实现高可用性,只要集合体中半数以上的机器处于可用状...

y805805的博客 467

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

学习Hadoop——Zookeeper 配置

zookeeper 的功能特性是通过Zookeeper 配置文件(zoo.cfg) 来进行控制管理的,这样的配置方式使得部署在Zookeeper 服务的时候很方便。 1.基本配置  1.clientPort :监听客户端连接的端口。  2.tickTime:基本事件单元,以毫秒为单位,这个时间作为Zookeeper 服务器之间或者客户端与服务器之间维护心跳的时间间隔。  3.dataDir...

y805805的博客 549

Hadoop环境搭建学习之zookeeper(2)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、zookeeper是什么?二、使用步骤1.所用的环境及软件2.集群服务器规划3.zookeeper分布式集群4.zookeeper+Hadoop配置5.启动HA集群总结 前言 `前天看公司的项目大数据的架构,里面除了最基本的Hadoop,还用了zookeeper,Hbase,kafka等第三方的组件,我就试着重新搭建下Hadoop里加入zookeeper,学习下这个组件主要用处 提示:以下是本篇文章正文内容,下面案例可.

panda_225400的博客 2106

大数据学习--kafka+flume++sqoop+hadoop+zookeeper+spark+flink

Flume对数据写入HDFS更专业并且有数据的预处理与分类实时数据写入的该控制,但是它对单个管道的数据并不友好,如果管道出现了问题那么这条链路的数据必须停下。现阶段技术上的应用主要是spark对于mapreduce 的技术升级,线程+数据放入内存+数据共享来优化数据需要在原生hadoop上多次mapreduce计算的磁盘 多次IO,根据业务逻辑的是否复杂是否需要机器学习等多方面考虑是否需要 haddop+spark联合使用。不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

ssdsadsa的博客 1234

Hadoop ZooKeeper 学习

Zookeeper是Hadoop的分布式协调服务。 Zookeeper是简单的,它的核心是一个精简的文件系统,它提供一些简单的操作和额外的抽象操作,如排序和通知。 Zookeeper表现力足够强,它的原语操作是一组丰富的构件,可用于实现很多协调数据结构和协议。如分布式队列,分布式锁和一组同级别的领导者选举等。 Zookeeper具有高可用性,它运行在一组机器之上,并且在设

原创学无止尽 810

Hadoop学习之zookeeper(集群安装)

ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长

刘瑞东的专栏 1979

Hadoop 中zoo_Hadoop学习之路(9)Zookeeper安装教程

文章目录1、环境准备1.1下载zooKeeper1.3安装zooKeeper1.4配置zooKeeper环境变量1.5 修改zookeeper集群配置文件1.6 创建myid文件1.7 修改myid目录权限2、复制zookeeper3、修改node2和node3节点zookeeper的相关目录权限4、修改node2和node3的myid文件内容5、配置node2和node3的zookeeper环境...

weixin_39717110的博客 530

Hadoop学习笔记:Zookeeper 基础

是 Hadoop 的分布式协调服务 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似 Master/Slave 管理模式 解决什么问题 统一命名服务(Name Service) 将有层...

narata1的博客 260

Hadoop学习之zookeeper(2)

本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。   单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:/home/zookeepe

刘瑞东的专栏 1004

Hadoop学习笔记 ZooKeeper

Zookeeper是Hadoop的分布式协调服务。 Zookeeper是简单的,它的核心是一个精简的文件系统,它提供一些简单的操作和额外的抽象操作,如排序和通知。 Zookeeper表现力足够强,它的原语操作是一组丰富的构件,可用于实现很多协调数据结构和协议。如分布式队列,分布式锁和一组同级别的领导者选举等。 Zookeeper具有高可用性,它运行在一组机器之上,并且在设计...

weixin_30216561的博客 118

Hadoop学习之zookeeper(1)

Zookeeper是Hadoop的分布式协调服务。   Zookeeper是简单的,它的核心是一个精简的文件系统,它提供一些简单的操作和额外的抽象操作,如排序和通知。 Zookeeper表现力足够强,它的原语操作是一组丰富的构件,可用于实现很多协调数据结构和协议。如分布式队列,分布式锁和一组同级别的领导者选举等。 Zookeeper具有高可用性,它运行在一组机器之上,并且在设计上具有高可用

刘瑞东的专栏 877
上一篇: Hadoop学习之HBase
下一篇: 统计自然语言处理的基础学习之一
viewcode
博客等级 码龄16年 993粉丝 108原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值