【ZooKeeper】第一章 快速入门

news2024/9/27 9:23:00

【ZooKeeper】第一章 快速入门

文章目录

  • 【ZooKeeper】第一章 快速入门
  • 一、概念
  • 二、安装
    • 1.环境准备
    • 2.安装
    • 3.配置
  • 二、命令操作
    • 1.数据模型
    • 2.服务端常用命令
    • 3.客户端常用命令

一、概念

  • ZooKeeper 是 Apache Hadoop 项目下的一个子项目,是一个树形目录服务
  • ZooKeeper 翻译过来就是动物园管理员,它是用来管理 Hadoop(大象)、Hive(蜜蜂)、Pig(猪)的管理员
  • ZooKeeper 是一个开源的分布式应用程序的协调服务
  • ZooKeeper 提供的主要功能包括
    • 配置管理
    • 分布式锁
    • 集群管理

二、安装

1.环境准备

ZooKeeper 服务器基于 JDK7 及以上版本

2.安装

ZooKeeper 官网

找到下载页面,下载 “latest stable release” 的非 “Source Release” 版本,写文章时版本号为 3.7.1

至于 “Source Release” 是什么意思,如下所示

Source Release需要在你的机器上编译,Binary Release是编译好的,但是必须匹配你的操作系统。
Source Release在Linux上很常见,因为Linux系统的CPU可能会有很大的差异,几乎每个Linux版本都安装了编译器。
Binary Release则多用于Windows上,多数Windows系统没有安装编译器。

将下载好的 tar 包放在服务器的 /opt/ZooKeeper 目录下并解压

3.配置

进入到 /opt/ZooKeeper/conf 目录,按照 zoo_sample.cfg 创建一个 zoo.cfg

进入到 /opt/ZooKeeper 目录,创建 ZooKeeper 存储目录 zkdata

修改 zoo.cfg

dataDir=/opt/ZooKeeper/zkdata

二、命令操作

1.数据模型

  • ZooKeeper 是一个树形目录服务,其数据模型和 Unix 的文件系统目录树很类似,拥有一个层次化结构,但是我们需要注意,文件树的目录是不存放数据的,而 ZNode 是可以存放数据的
    在这里插入图片描述
  • 这里的每一个节点都被称为 ZNode,每个节点上都会保存自己的数据和节点信息
  • 节点可以拥有子节点,同时也允许少量(1MB)数据存储在该节点之下
  • 节点可以分为四大类
    • PERSISTENT 持久化节点,客户端或者服务端重启仍然存在
    • EPHEMERAL 临时节点,客户端断开连接后就销毁:-e
    • PERSISTENT_SEQUENTIAL 持久化顺序节点:-s
    • EPHEMERAL_SEQUENTIAL 临时顺序节点:-es

2.服务端常用命令

进入到 /opt/ZooKeeper/bin 目录,启动、停止、重启分和查看当前节点状态(包括集群中是何角色)分别执行:

./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart
./zkServer.sh status

3.客户端常用命令

连接服务端(首先需要确认服务端的指定端口是否开放)

./zkCli.sh -server ip:port

断开连接

quit

查看命令帮助

help

显示指定目录下节点

ls 目录

创建节点

create /永久节点path value
create -e /临时节点path value
create -s /永久顺序节点path value
create -es /临时顺序节点path value

获取节点值

get /节点path

设置节点值

set /节点path value

删除单个节点

delete /节点path

删除带有子节点的节点

deleteall /节点path

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot使用SchedulingConfigurer实现多个定时任务多机器部署问题

目录一、使用SchedulingConfigurer实现多个定时任务二、定时任务多机器部署解决方案三、基于redis实现的代码示例3.1、基于redis实现的概述3.2、基于redis实现的代码3.2.1、代码目录结构3.2.2、引入依赖包3.2.3、配置文件新增redis连接配置3.2.4、自定义redis锁注解类3.2.5、自…

Linux 块设备驱动

1.块设备是针对存储设备的,比如 SD 卡、 EMMC、 NAND Flash、 Nor Flash、 SPI Flash、机械硬盘、固态硬盘等。因此块设备驱动其实就是这些存储设备驱动,块设备驱动相比字符设备驱动的主要区别如下: ①、块设备只能以块为单位进行读写访问&am…

【阶段二】Python数据分析Pandas工具使用07篇:探索性数据分析:数据的描述:数据的集中趋势

本篇的思维导图: 探索性数据分析:数据的描述 数据的描述是为了让数据使用者或开发者更加了解数据,进而做到“心中有数”,其描述过程侧重于统计运算和统计绘图。通过统计运算可以得到具体的数据特征,如反映集中趋势中的均值水平、中位数、分位数和众数等;反映分散趋势的方…

Unity脚本 --- VS调试工具

一般游戏逻辑调试的时候用的都是VS调试工具来进行调试 1.在Unity脚本中启动调试后并不会立刻开始调试,还需要我们在Unity中点击play(游戏运行)后调试才会开始进行 2.在调试的时候点击f11可以逐语句调试,同时当我们在调试的时候想…

螺旋桨k线的意义?

相信大家即使没坐过直升机,也很看见过螺旋桨吧?它的动能巨大,刮起的旋风能支撑起一架飞机的升降。但大家是否知道,在K线技术分析中,也有一种特殊的形态叫“螺旋桨”呢? 三、螺旋桨K线的形态概念 如下图&am…

2023-1-4目前市面上存在的树莓派rp2040控制器

目前市面上存在的树莓派rp2040控制器 1、树莓派pico原装 2、微雪rp2040 3、Ultimate pico rp2040兼容树莓派pico RaspberryPi Pico是一款低成本,高性能的微控制器开发板,具有灵活数字接口。硬件上,采用Raspberry Pi官方自主研发的RP2040微控…

高精度PWM脉宽调制信号转模拟信号隔离变送器0-5V/0-10V/1-5V,0-10mA/0-20mA/4-20mA

主要特性:>>精度等级:0.1级。产品出厂前已检验校正,用户可以直接使用>>辅助电源:8-32V 宽范围供电>>PWM脉宽调制信号输入: 1Hz~10KHz>>输出标准信号:0-5V/0-10V/1-5V,0-10mA/0-20mA/4-20mA等,…

国家法定节假日安排,节假日查询API接口有哪些?

节假日,对于我们每个人来说都息息相关。特别是国家法定节假日的安排,大家都希望清楚知道并合理安排好。因为,节假日是国务院统一安排的,我们就为此编写了这样一个节假日查询API接口,供大家方便查询。 节假日API接口正广…

佳能6D误格式化覆盖后的恢复方法

佳能6D算是佳能众多摄像机中的明星机型,销量很大。同样遇到的问题也很多,今天要说的案例就是佳能6D格式化覆盖后的恢复案例,比较特殊的是其结构部分全部覆盖了,下面我们来看看这个案例。故障存储:64G sd卡,采用exFAT文…

软件项目如何进行任务分配,减少冲突?

1、任务分配并非平均分配 项目经理往往有个认知误区,认为把工作任务详细分解,平均分配给每个人,不偏不倚,公平公正就没有问题。但在实际开发过程中,这样很容易出问题,尤其是到项目后期,掉链子的…

Python中的时间序列数据操作总结

时间序列数据是一种在一段时间内收集的数据类型,它通常用于金融、经济学和气象学等领域,经常通过分析来了解随着时间的推移的趋势和模式 Pandas是Python中一个强大且流行的数据操作库,特别适合处理时间序列数据。它提供了一系列工具和函数可以…

意想不到的前端三个小妙招

大厂面试题分享 面试题库前端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库整理下本人在工作中撸代码遇到的一些刚看时一脸懵逼,实则很简单就能解决的小妙招,希望对大家有所帮助哟~伪元素动态改变…

「诗人艺术家ll著名诗人」胭脂茉莉十四行诗10首

【诗人艺术家ll著名诗人】胭脂茉莉十四行10首胭脂茉莉诗人简介:胭脂茉莉,女,江苏人,年少习诗,作家、诗人。评论及随笔见诸媒体及报刊,诗歌被选编入海内外多种选本及刊物,其主要代表作有现代禅诗…

vue3-init

Vue3快速上手 1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王)耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址:https://github.com/vuejs/vue-next/release…

maven中的scope

provided: 编译运行时期,目标容器已经提供,打jar包时候不带optional,依赖传递test: 举例子junit,为什么Test在src的java蓝包的测试类的方法上面不能用?src的java绿包里的测试类的方法上可以用。 依赖传递:间…

【数据篇】32 # 如何选择合适的方法对数据进行可视化处理?

说明 【跟月影学可视化】学习笔记。 从原始数据中过滤出有用的信息 下面通过航拍公园人群分布例子,按照某些属性对数据进行过滤,再将符合条件的结果展现出来。 数据来源:https://github.com/akira-cn/graphics/blob/master/data/park-peo…

Java on Azure Tooling 2022年12月更新|Azure SDK 参考书代码样例支持及用户体验提升

作者:Jialuo Gan - Program Manager, Developer Division at Microsoft 排版:Alan Wang 大家好,欢迎回到12月的 Java on Azure Tooling 的更新。首先,提前祝大家新年快乐。在这次更新中,我们将介绍 Azure SDK 参考书的…

Linux系统之部署MxsDoc个人文件管理系统

Linux系统之部署MxsDoc个人文件管理系统一、MxsDoc介绍1.MxsDoc简介2.MxsDoc功能3.MxsDoc应用场景二、检查本地系统环境1.检查系统版本2.检查系统内核三、下载MxsDoc软件包1.创建软件目录2.下载MxsDoc软件3.查看下载软件四、部署MxsDoc1.解压MxsDoc软件包2.一键部署MxsDoc五、登…

【Linux逻辑卷管理】之pvcreate、pvdisplay和pvremove

文章目录一、逻辑卷管理(LVM)概念1. LVM 定义2. 物理卷(PV)3. 卷组(VG)4. 逻辑卷(LV)二、创建逻辑卷1. pvcreate命令将分区标记为物理卷,创建物理卷2. vgcreate命令将一个或多个物理卷结合为一个卷组,创建卷组3. lvcreate命令根据卷组中的可用物理区块,创…

【线上故障记录】MySQLTransactionRollbackException: Lock wait timeout exceeded

数据同学反馈凌晨1-2点会出现连接系统MySQL数据库等待锁超时 com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction InnoDB事务等待一个行级锁的时间最长时间默认值是50秒(单位是秒&#x…