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

news/2024/5/14 18:34:43

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.tangninghui.cn.cn/item-12920.htm

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

相关文章

【MIT6.S081】Lab1: Xv6 and Unix utilities(详细解答版)

实验内容网址:https://xv6.dgs.zone/labs/requirements/lab1.html Sleep 关键点:函数参数判断、系统函数调用 思路: 通过argc来判断函数参数是否正确,通过atoi函数来讲字符串转化为整型,调用sleep函数后退出程序。 代…

java Web课程管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 课程管理系统是一套完善的web设计系统,对理解JSP java 编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用ja…

北航计算机软件技术基础课程作业笔记【3】

栈的出入顺序问题 题目 给出一个栈的输入顺序为:ABCDEFG,出栈顺序为CBDFGEA,画出其入栈、出栈的变化图 分析 这个意思就是给栈的输入顺序已知,但是并不是所有元素全部入栈之后才全部出栈,可以进C后立马出C再出B再入…

Qt小案例

工程概述 MainWindows 还是 Widget 在 Qt 中,创建 "MainWindow" 与 "Widget" 项目的主要区别在于他们的用途和功能范围: 1. MainWindow :这是一个包含完整菜单栏、工具栏和状态栏的主窗口应用程序框架。它适合于更…

以动态库链接库 .dll 探索结构体参数

Dev c C语言实现第一个 dll 动态链接库 创建与调用-CSDN博客 在写dll 插件中发现的函数指针用途和 typedef 的定义指针的用法-CSDN博客 两步之后,尝试加入结构体实现整体数据使用。 注意结构体 Ak 是相同的 代码如下 DLL文件有两个,dll.dll是上面提到…

密码学 总结

群 环 域 群 group G是一个集合,在此集合上定义代数运算*,若满足下列公理,则称G为群。 1.封闭性 a ∈ G , b ∈ G a\in G,b\in G a∈G,b∈G> a ∗ b ∈ G a*b\in G a∗b∈G 2.G中有恒等元素e,使得任何元素与e运算均为元素本…