zookeeper中的znode节点的一些功能和应用

zookeeper是一个挺好玩的东西
有着独特的选举机制,一般在中小型集群中,zookeeper一般装在三个节点
其中只有一个节点对外提供服务,处于leader状态,另外两台未follower状态
这得益于zookeeper独特的选举机制,可以保证leader节点的主机挂掉后,
从节点可以通过选举机制很快成为leader节点并对外提供服务。

zookeeper的结构为树状结构,其每个树状节点中存储着其他组件的元数据。
本篇内容主讲znode节点的一些功能和使用,以及ACL的一些问题。

#找到zookeeper的运行目录
cd /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/

运行脚本zkCli.sh

[root@cloud01 bin]# ./zkCli.sh
Connecting to localhost:2181
2024-04-07 11:29:08,782 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.5-cdh6.3.2–1, built on 02/01/2022 16:17 GMT
2024-04-07 11:29:08,786 [myid:] - INFO [main:Environment@100] - Client environment:host.name=cloud01
2024-04-07 11:29:08,786 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_161
2024-04-07 11:29:08,790 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2024-04-07 11:29:08,790 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/local/jdk8/jre
2024-04-07 11:29:08,790 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/build/classes:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/build/lib/.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/lib/slf4j-log4j12.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/lib/slf4j-log4j12-1.7.25.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/lib/slf4j-api-1.7.25.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/lib/netty-3.10.6.Final.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/lib/log4j-1.2.17.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/lib/jline-2.11.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/lib/commons-cli-1.2.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/lib/audience-annotations-0.5.0.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/zookeeper-3.4.5-cdh6.3.2.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/src/java/lib/.jar:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin/…/conf:.:/usr/local/jdk8/lib:/usr/local/jdk8/jre/lib:
2024-04-07 11:29:08,790 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2024-04-07 11:29:08,790 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2024-04-07 11:29:08,790 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=
2024-04-07 11:29:08,790 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux
2024-04-07 11:29:08,791 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
2024-04-07 11:29:08,791 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-1127.13.1.el7.x86_64
2024-04-07 11:29:08,791 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root
2024-04-07 11:29:08,791 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root
2024-04-07 11:29:08,791 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p5253.21605619/lib/zookeeper/bin
2024-04-07 11:29:08,791 [myid:] - INFO [main:ZooKeeper@619] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain M y W a t c h e r @ 7506 e 922 W e l c o m e t o Z o o K e e p e r ! 2024 − 04 − 0711 : 29 : 08 , 895 [ m y i d : ] − I N F O [ m a i n − S e n d T h r e a d ( l o c a l h o s t : 2181 ) : C l i e n t C n x n MyWatcher@7506e922 Welcome to ZooKeeper! 2024-04-07 11:29:08,895 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn MyWatcher@7506e922WelcometoZooKeeper!2024040711:29:08,895[myid:]INFO[mainSendThread(localhost:2181):ClientCnxnSendThread@1118] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2024-04-07 11:29:09,008 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn S e n d T h r e a d @ 962 ] − S o c k e t c o n n e c t i o n e s t a b l i s h e d , i n i t i a t i n g s e s s i o n , c l i e n t : / 127.0.0.1 : 33928 , s e r v e r : l o c a l h o s t / 127.0.0.1 : 21812024 − 04 − 0711 : 29 : 09 , 068 [ m y i d : ] − I N F O [ m a i n − S e n d T h r e a d ( l o c a l h o s t : 2181 ) : C l i e n t C n x n SendThread@962] - Socket connection established, initiating session, client: /127.0.0.1:33928, server: localhost/127.0.0.1:2181 2024-04-07 11:29:09,068 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn SendThread@962]Socketconnectionestablished,initiatingsession,client:/127.0.0.1:33928,server:localhost/127.0.0.1:21812024040711:29:09,068[myid:]INFO[mainSendThread(localhost:2181):ClientCnxnSendThread@1378] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0xff8ea1e469371d73, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]

查看zookeeper下面的节点

[zk: localhost:2181(CONNECTED) 2] ls /
[cluster, controller, brokers, zookeeper, yarn-leader-election, hadoop-ha, admin, isr_change_notification, log_dir_event_notification, controller_epoch, rmstore, consumers, hive_zookeeper_namespace_hive, latest_producer_id_block, config, hbase, sentry]

zookeeper在cdh集群中又扮演什么角色呢?
这是在hbase配置中的设置
在这里插入图片描述
ZooKeeper 是 HBase 集群的协调服务,它存储了 HBase 集群的状态信息、表结构信息、RegionServer 的信息。一般存储在zookeeper中的hbase节点下

[zk: localhost:2181(CONNECTED) 3] ls /hbase
[meta-region-server, rs, splitWAL, backup-masters, table-lock, flush-table-proc, master-maintenance, online-snapshot, acl, switch, master, running, balancer, tokenauth, draining, namespace, hbaseid, table]

这是hdfs组件中的配置
在这里插入图片描述
hdfs要依赖于zookeeper来实现自身的高可用性(zkfc机制);

[zk: localhost:2181(CONNECTED) 4] ls /
[cluster, controller, brokers, zookeeper, yarn-leader-election, hadoop-ha, admin, isr_change_notification, log_dir_event_notification, controller_epoch, rmstore, consumers, hive_zookeeper_namespace_hive, latest_producer_id_block, config, hbase, sentry]
[zk: localhost:2181(CONNECTED) 5] ls /hadoop-ha
[nameservice1]
[zk: localhost:2181(CONNECTED) 6] 

这是hive中的配置
在这里插入图片描述
Hive 的 HA 配置:在配置 Hive 的高可用性(High Availability,HA)环境时,ZooKeeper 可以用于管理和协调 Hive 的主从节点,确保 Hive 元数据服务的可用性和一致性。

这是impala中的配置
在这里插入图片描述
ZooKeeper 可以用作元数据存储,帮助 Impala 管理元数据信息的分布和一致性。

这是在kafka上的配置
在这里插入图片描述
做元数据存储,还有就是协助选举leader

这是在Sentry中的配置
在这里插入图片描述
元数据存储和管理。

这是在yarn中的配置
在这里插入图片描述
高可用,元数据存储。

关于ACL权限,开启Kerberos认证后,这个就不开了。
而且这个权限每个目录节点的权限都是独立的。

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

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

相关文章

Springboot 在使用RabbitMQ 传送数据 发现 字符串 传递 没问题,但是 传送对象接收不到数据解决方案

springboot集成RabbitMQ后能通过RabbitTemplate很方便的传送对象。 注意!! 如果发送方和接收方在同一项目中,且发送使用的对象为同一个包导入,那么发送和接受都没有问题。 但是如果发送方和接收方在两个独立的子模块下&#xff…

Ubuntu22.04平台编译完美解决问题“error: GLSL 4.5 is not supported.”【GLSL(OpenGL着色器语言)】

GLSL介绍 GLSL(OpenGL着色器语言)是用于编写OpenGL着色器程序的语言。GLSL 4.5 是 GLSL 的一个版本,引入了许多新的特性和改进,旨在提高着色器编程的灵活性和性能。GLSL 4.5 工具通常是用于编写、调试和优化 GLSL 4.5 着色器代码…

【TI毫米波雷达】官方工业雷达包的生命体征检测环境配置及避坑(Vital_Signs、IWR6843AOPEVM)

【TI毫米波雷达】官方工业雷达包的生命体征检测环境配置及避坑(Vital_Signs、IWR6843AOPEVM) 文章目录 生命体征基本介绍IWR6843AOPEVM的配置上位机配置文件避坑上位机start测试距离检测心跳检测呼吸频率检测空环境测试 附录:结构框架雷达基…

如何在 Node.js 中使用 bcrypt 对密码进行哈希处理

在网页开发领域中,安全性至关重要,特别是涉及到用户凭据如密码时。在网页开发中至关重要的一个安全程序是密码哈希处理。 密码哈希处理确保明文密码在数据库受到攻击时也难以被攻击者找到。但并非所有的哈希方法都是一样的,这就是 bcrypt 突…

AcWing刷题-公约数

公约数 代码 from math import gcd a, b map(int, input().split()) p int(input()) max_gcd gcd(a, b) res []for i in range(1, int(max_gcd**0.5)1):if max_gcd % i 0:res.append(i) res.append(max_gcd//i) res sorted(set(res))for _ in range(p):l, r map(int,…

绘图工具 draw.io / diagrams.net 免费在线图表编辑器

拓展阅读 常见免费开源绘图工具 OmniGraffle 创建精确、美观图形的工具 UML-架构图入门介绍 starUML UML 绘制工具 starUML 入门介绍 PlantUML 是绘制 uml 的一个开源项目 UML 等常见图绘制工具 绘图工具 draw.io / diagrams.net 免费在线图表编辑器 绘图工具 excalidr…

2024 蓝桥打卡Day34

20240406蓝桥杯备赛 1、学习蓝桥云课省赛冲刺课 【1-手写与思维】【2-递归与递推】2、学习蓝桥云课Java省赛无忧班 【1-语言基础】3、代码练习字符串排序大小写转换 (ccfcsp之前要是学了我就能上200了 啊啊啊啊 错过啊)斐波那契数列 递归解法纸张尺寸问题…

mac老版本如何升级到最新版本

mac老版本如何升级到最新版本 老macbook升级新版本(Big sur、Monterey) 首先介绍我的电脑的机型及情况: 2015年初的MacBook Air 处理器是1.6Hz 双核Interl Core i5 内存4G 老版本只能升到10.13 想要升到最高版本的原因:想要注册…

1085: 【C3】【高精度】大整数加法

题目描述 求两个不超过200位的非负整数的和 输入 有两行&#xff0c;每行是一个不超过200位的非负整数 输出 一行&#xff0c;即相加后的结果 样例输入 22222222222222 33333333333333333333 样例输出 33333355555555555555 Code: #include<bits/stdc.h> usin…

JJVM类的加载过程

类的加载过程 一个java文件从被加载到被卸载这个生命过程&#xff0c;总共要经理五个阶段&#xff0c;JVM将类加载过程分为&#xff1a;&#xff08;加链初使卸&#xff09; 1. 加载 首先通过一个类的全限定名来获取此类的二进制字节流&#xff1b;其次将这个字节流所代表的静…

【JVM性能调优】- 合理分配堆空间

1、合理的堆空间该如何分配 Java内存各分区的大小对JVM的性能影响很大&#xff0c;不恰当的空间大小可能会埋下很多故障隐患&#xff0c;同时也会直接或间接影响JVM的提升速率、分配速率&#xff0c;所以如何将各分区调整到合适的大小就成了一个棘手的问题。大部分不具备线上JV…

Centos7下docker删除容器与镜像

个人记录 查看容器 docker ps -a停止容器运行 docker stop jenkins卸载容器 docker rm jenkins查看镜像 docker images卸载镜像 docker rmi IMAGE ID查看容器与镜像是否卸载完毕 docker images docker ps -a

avro c++编译与使用

一、arvo介绍 Avro 是 Hadoop 中的一个子项目&#xff0c;也是一个数据序列化系统&#xff0c;其数据最终以二进制格式&#xff0c;采用行式存储的方式进行存储。 Avro提供了&#xff1a; 1)、丰富的数据结构。 2)、可压缩、快速的二进制数据格式。 3)、一个用来存储持久化数据…

海外媒体宣发,穿透与世界的交流 - “保姆级”教程 - 大舍传媒

1. 引言 在当今高度信息化的世界&#xff0c;境外媒体宣发已经成为企业、品牌和政府机构推广自身形象、扩大影响力的重要手段。如何在国际舞台上有效传播信息&#xff0c;提高国际知名度&#xff0c;成为了许多组织面临的重要课题。大舍传媒凭借多年的境外媒体宣发经验&#x…

TYPE-C PD协议 OTG - 开启充电与数据传输

TYPE-C PD协议&#xff0c;作为一种先进的充电与数据传输协议&#xff0c;正以其卓越的性能引领着充电与数据传输技术的发展。它通过USB Type-C接口&#xff0c;实现了充电与数据传输的完美结合&#xff0c;为用户带来了前所未有的便捷体验。 TYPE-C PD协议的一大亮点在于其支…

WPF程序添加托盘图标

程序添加托盘图标 UI层 //添加handycontrol的引用xmlns:hc"https://handyorg.github.io/handycontrol"//添加NotifyIcon图标 实现单击 双击 二级菜单点击功能<hc:NotifyIconText"通知"Token"Info"><hc:NotifyIcon.ContextMenu><…

Python Flask:TypeError: unsupported operand type(s) for -: ‘str‘ and ‘int‘

背景 项目中常见的分页功能&#xff0c;代码如下&#xff1a; # 收藏列表 blog_base_blueprint.route(/resource_like_list/<int:user_id>, methods[POST]) def getResourceLikeList(user_id):page_size request.form.get(page_size, default2)page_num request.form…

opencv的kcf调参

cv::TrackerKCF::Params 是 OpenCV 中 KCF&#xff08;Kernelized Correlation Filter&#xff09;跟踪器的参数结构体&#xff0c;用于配置和优化跟踪器的行为。调整这些参数可以帮助你根据特定的应用场景和需求改进跟踪性能。以下是一些主要参数及其调整方法的详细说明&#…

Go 项目依赖注入wire工具最佳实践介绍与使用

文章目录 一、引入二、控制反转与依赖注入三、为什么需要依赖注入工具3.1 示例3.2 依赖注入写法与非依赖注入写法 四、wire 工具介绍与安装4.1 wire 基本介绍4.2 安装 五、Wire 的基本使用5.1 前置代码准备5.2 使用 Wire 工具生成代码 六、Wire 核心技术5.1 抽象语法树分析5.2 …

Docker【1】:Docker制作Oracle19C镜像

Docker【1】&#xff1a;Docker制作Oracle19C镜像 1、参考官方文档2、下载相关文件2.1、工具包2.2、Oracle安装包 3、制作镜像3.1、拷贝下载的oracle安装包到制作工具对应版本目录下3.2、开始制作镜像包3.3、制作完成 4、导出导入镜像4.1、镜像导出4.2、镜像导入 5、运行Oracle…