Zookeeper超级用户

zookeeper 集群配置文件中增加账号认证 4. 设置环境变量:在每个Zookeeper服务器上设置环境变量,指定`ZOO_OPTS`为`-Djava.security.auth.login.config=zoo_jaas.conf`。该文件将用于配置Zookeeper的权限设置。3. 创建一个JAAS登录文件:在`zoo.cfg`文件同级目录下创建一个命名为`zoo_jaas.conf`的文件,用于存储Zookeeper的登录凭据。其中,`Server`是一个标识符,`user_admin`是用户名,`adminpassword`是密码。 阅读详情

Zookeeper管理员会因为某些客户端对某些节点设置了权限,而导致在紧急的情况下无法修改这些节点感到困扰。在这种情况下,管理员可以通过Zookeeper超级用户模式访问这些节点,一旦设置了超级权限访问节点,后续的操作就不需要check ACL了。

使用超级用户模式,可以通过Zookeeper的zookeeper.DigestAuthenticationProvider.superDigest参数开启。

使用org.apache.zookeeper.server.auth.DigestAuthenticationProvider生成superDigest:

 

	@Test
	public void generate() {
		try {
			System.out.println(DigestAuthenticationProvider.generateDigest("super:superpw"));
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

输出

 

 

super:g9oN2HttPfn8MMWJZ2r45Np/LIA=


在${ZOOKEEPER_HOME}/bin/zkServer.sh配置启动参数:

 

我使用的是zookeeper-3.4.6,修改zkServer.sh文件的第109行:

 

nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" "-Dzookeeper.DigestAuthenticationProvider.superDigest=super:g9oN2HttPfn8MMWJZ2r45Np/LIA=" \


超级权限是通过DigestAuthenticationProvider实现的,示例:

 

 

	@Test
	public void testSuperServer() {
		List<ACL> acls = new ArrayList<ACL>(2);
		try {
			Id id1 = new Id("digest", DigestAuthenticationProvider.generateDigest("fish:fishpw"));
			ACL acl1 = new ACL(ZooDefs.Perms.WRITE, id1);

			Id id2 = new Id("digest", DigestAuthenticationProvider.generateDigest("qsd:qsdpw"));
			ACL acl2 = new ACL(ZooDefs.Perms.READ, id2);

			acls.add(acl1);
			acls.add(acl2);
		} catch (NoSuchAlgorithmException e1) {
			e1.printStackTrace();
		}

		ZooKeeper zk = null;
		try {
			zk = new ZooKeeper("10.0.1.75:2181,10.0.1.76:2181,10.0.1.77:2181", 300000, new Watcher() {
				// 监控所有被触发的事件
				public void process(WatchedEvent event) {
					System.out.println("已经触发了" + event.getType() + "事件!");
				}
			});
			if (zk.exists("/test", true) == null) {
				System.out.println(zk.create("/test", "ACL测试".getBytes(), acls, CreateMode.PERSISTENT));
			}
		} catch (IOException e) {
			e.printStackTrace();
		} catch (KeeperException e1) {
			e1.printStackTrace();
		} catch (InterruptedException e1) {
			e1.printStackTrace();
		}
	}

	@Test
	public void testSuperClient() {
		try {
			ZooKeeper zk = new ZooKeeper("10.0.1.75:2181,10.0.1.76:2181,10.0.1.77:2181", 300000, new Watcher() {
				// 监控所有被触发的事件
				public void process(WatchedEvent event) {
					System.out.println("已经触发了" + event.getType() + "事件!");
				}
			});
			zk.addAuthInfo("digest", "super:superpw".getBytes());
			System.out.println(new String(zk.getData("/test", null, null)));
			zk.setData("/test", "I change!".getBytes(), -1);
		} catch (KeeperException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

示例先使用digest对Znode /test 设置读写权限,然后通过super:superpw的超级用户去访问。
 

Zookeeper 节点权限控制ACL详解 Zookeeper可以使用ACL(access control list)访问控制列表来对节点的权限进行控制 阅读详情

相关推荐

【zookeeper】zookeeper 性能优化与配置详解 一些踩坑建议

ZooKeeper的功能特性通过ZooKeeper配置文件来进行控制管理( zoo.cfg配置文件)。ZooKeeper这样的设计其实是有它自身的原因的。通过前面对ZooKeeper的配置可以看出,对ZooKeeper集群进行配置的时候,它的配置文档是完全相同的(对于集群伪分布模式来说,只有很少的部分是不同的)。这样的配置方使得在部署ZooKeeper服务的时候非常地方便。另外,如果服务器使用不同的配置文件,必须要确保不同配置文件中的服务器列表相匹配。

九师兄 6981

Zookeeper--ACL权限控制

ACL ACL,即访问控制列表,是一种相对来说比较新颖且更细粒度的权限管理方式,可以针对任意用户和组进行细粒度的权限控制。目前绝大部分Unix系统都已经支持了ACL方式的权限控制,Linux 也从2.6版本的内核开始支持这个特性。 ZooKeeper的ACL权限控制和Unix/Linux操作系统中的ACL有一些区别,可以从三个方面来理解ACL机制,分别是:权限模式( Scheme)、 授权对象(ID)和权限(Permission),通常使用“scheme:id:permission” 来标识一个有效的ACL

吴声子夜歌的博客 697

数字IC物理验证实战 | 从Calibre LVS报告到Innovus定位的Debug全链路解析

本文详细解析了数字IC物理验证中Calibre LVS报告的Debug全流程,从INCORRECT NETS错误的初探到Innovus定位技巧,提供了实战案例和高效工具的使用方法。重点介绍了Calibre高亮功能、Innovus验证命令以及前后端工具联动的关键策略,帮助工程师快速定位和解决LVS问题,提升物理验证效率。

weixin_30919429的博客 127

Zookeeper--03--常用Shell命令

启动 Zookeeper /usr/local/src/zookeeper/bin [root@localhost zookeeper] cd /usr/local/src/zookeeper/bin [root@localhost bin] sh zkServer.sh status [root@localhost bin] sh zkServer.sh start [root@localhost bin] sh zkCli.sh 1 新增节点 create [-s] [-e] path

时光里的博客 873

5分钟搞懂异构图注意力网络(HAN):从元路径到节点聚合的全流程解析

本文深入解析异构图注意力网络(HAN)的核心原理与实战应用,从元路径设计到多级注意力实现的全流程。HAN通过节点级和语义级双重注意力机制,有效处理包含多种节点和边类型的异构图数据,在电商推荐、学术网络分析等场景展现卓越性能。文章提供DGL实现代码和调参技巧,帮助开发者快速掌握这一强大工具。

weixin_29056701的博客 311

别再为OpenBCI_GUI安装发愁了!保姆级教程带你从Processing配置到成功运行(附常见错误解决)

本文提供了一份详细的OpenBCI_GUI安装教程,涵盖从Processing配置到成功运行的全过程,特别针对常见错误提供了解决方案。通过环境搭建、软件依赖安装、源码处理及首次运行实战,帮助用户高效完成数据可视化工具的部署与使用。

weixin_28366475的博客 268

zookeeper删除节点的权限_Zookeeper使用超级用户删除带权限的节点

1.背景Zookeeper管理员会因为某些客户端对某些节点设置了权限,而导致在紧急的情况下无法修改这些节点感到困扰。在这种情况下,管理员可以通过Zookeeper超级用户模式访问这些节点,一旦设置了超级权限访问节点,后续的操作就不需要check ACL了。使用超级用户模式,可以通过Zookeeper的zookeeper.DigestAuthenticationProvider.superDiges...

weixin_30682635的博客 581

Keil5安装多版本共存方案:实用技巧分享

分享Keil5安装过程中实现多版本共存的实用方法,解决开发环境冲突问题。通过合理配置路径与版本管理,让keil5安装更高效稳定,提升嵌入式开发体验。

weixin_42514750的博客 1527

Zookeeper使用超级用户删除带权限的节点

1.背景 Zookeeper管理员会因为某些客户端对某些节点设置了权限,而导致在紧急的情况下无法修改这些节点感到困扰。在这种情况下,管理员可以通过Zookeeper超级用户模式访问这些节点,一旦设置了超级权限访问节点,后续的操作就不需要check ACL了。 使用超级用户模式,可以通过Zookeeper的zookeeper.DigestAuthentica...

木木与呆呆的专栏 5094

RK3566开发板实战:YT8512C百兆网卡调试全记录(附DTS配置避坑指南)

本文详细记录了RK3566开发板上YT8512C百兆以太网卡的调试全过程,包括硬件信号检测、DTS配置优化及常见错误排查。特别针对DTS配置中的关键参数和避坑指南进行了深入解析,为开发者提供实用的调试技巧和经验分享。

weixin_29189381的博客 272

Halcon手眼标定实战:从九点标定到机械臂精准抓取(附完整代码)

本文详细介绍了Halcon手眼标定技术在实际工业场景中的应用,重点讲解了九点标定法在机械臂精准抓取中的实现步骤和优化技巧。通过对比Eye-to-Hand和Eye-in-Hand两种模式的特点,提供完整的代码示例和误差分析,帮助工程师快速掌握标定技术,提升自动化系统的精度和稳定性。

weixin_29100927的博客 459

zookeeper命令详解和超级用户配置

4.执行命令进入zkCli模式:/usr/hdp/zookeeper/bin/zkCli.sh,再执行addauth digest super:superpw认证身份,这样就具备超级管理员角色,可以操作任意节点了。/usr/hdp/3.1.0.0-78/zookeeper/bin/zkCli.sh -server 主机名:2181。2.编辑/usr/hdp/zookeeper/bin/zkServer.sh,添加一些配置。./zkCli.sh -server 主机名:2181!

sunxunyong的博客 863

Ultralytics 框架中predict 与 track 的区别

在 Ultralytics 框架中,predict 和 track 是两种不同的推理方法,分别用于目标检测(或分割、姿态估计)和目标跟踪任务。

浩瀚之水的专栏 1126

zookeeper --禁用ACL 与 设置super超级用户1

zookeeper 禁用ACL zookeeper 设置super超级用户

qq_41768644的博客 1023

在ABAQUS中使用VUMAT子程序实现Hashin失效准则的详细解析与实践:深入探讨复合材料模拟仿真的高级编程技巧

Hashin失效准则是由材料科学家Shlomo Hashin于1962年提出的一种基于能量方法的多向失效理论,主要用于预测复合材料的破坏行为。与传统的单向失效理论不同,Hashin准则考虑了材料内部的多种独立破坏机制,如基体断裂、界面脱粘、纤维断裂等,这些机制在不同应力状态下可能同时或分别发生。通过计算各个机制的能量释放率,Hashin失效准则能够更为准确地预测复合材料在复杂应力状态下的破坏行为。

qq_38334677的博客 1949

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Zookeeper acl超级用户

总体来说,ZK的节点有5种操作权限: CREATE、READ、WRITE、DELETE、ADMIN也就是增、删、改、查、管理权限,这5种权限简写为crwda。 注: delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限。   Cli命令行下可这样测试: create /test 'test-data' getAcl /test 通过getAcl命令可以发现,刚创建的...

金溪的博客 3609

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Zookeeper超级用户使用案例:How to remove ACL protected ZK Node

Problem There are time we would want to remove a ZK node in a secure cluster which is ACL protected. Something as below ACLs [zk: xyz.com:2181(CONNECTED) 0] getAcl /infra-solr 'sasl,'infra-solr : cd...

微信公众号:大数据从业者 342

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java acllist_zookeeper节点之 java操作 和zookeeper-权限(ACL),设置超级用户(二)

java 操作zookeeper:先贴上java连接zookeeper代码public class zookeeperConnection {final static CountDownLatch connectedSignal = new CountDownLatch(1);static ZooKeeper zooKeeper = null;// 1、连接zookeeperpublic stat...

weixin_39760065的博客 277

zookeeper之权限设置

权限控制模式schema(授权对象): ip:192.168.1.1 Digest:username password world:开放式权限控制模式,数据节点的访问权限对所有用户开发 super:超级用户,可以对zookeeper上的数据节点进行操作  ...

方新德的博客 923

【ZooKeeper Notes 7】使用super身份对有权限的节点进行操作

如果客户端设置了权限,那么其它人如果没有授权,就无法对这个节点进行操作。但是对于管理员来说,有没有一种方法,可以对任意节点进行操作呢,答案是有的~ 方法简单描述如下: 1.确认是否开启zookeeper的superDigest模式。方法如下: 首先配置如下启动参数,然后重启server "-Dzookeeper.Digest...

weixin_34272308的博客 124

Zookeeper3.5.+的新功能——动态服务发现

Zookeeper的伪集群模式部署可以参考下面这篇,我觉得写的非常详细了。 https://blog.csdn.net/ceasadan/article/details/52343734 关于zookeeper集群的动态服务发现,我之前看的参考书上说的是并不支持,也不能很好支持水平扩容,需要重启集群server(一起重启或者轮流重启)。 后来查了一下,发现官网有对动态配置功能的相关介绍: http...

Irisohohoh的博客 1966

12. ZooKeeper配额和认证

ZooKeeper具有与其数据模型相关的可配置配额(quota)。 可以设置znode上的配额限制和存储的数据量。如果ZooKeeper命名空间中的一个子树超出与其关联的配额,ZooKeeper会在日志中打印警告消息。但是,如果超出指定的配额,操作并不会取消。 ZooKeeper配额存储在/zookeeper/quota路径的ZooKeeper树中。 可以从ZooKeeper客户端API和ZooK...

weixin_34396902的博客 171
上一篇: zookeeper数据模型
下一篇: Zookeeper源码解析之Server启动
qianshanding0708
博客等级 码龄11年 425粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值