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

1.背景

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

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

2.对超级用户的密码加密

使用org.apache.zookeeper.server.auth.DigestAuthenticationProvider生成superDigest:public void generate() {

try {

System.out.println(DigestAuthenticationProvider.generateDigest("super:superpw"));

} catch (NoSuchAlgorithmException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

输出super:superpw对应的加密参数为:

super:g9oN2HttPfn8MMWJZ2r45Np/LIA=

3.超级用户加入到服务端启动参数

在zookeeper服务端的zkEnv.sh环境变量中加入以下参数,开启超级用户,重启zookeeper服务端:SERVER_JVMFLAGS="-Dzookeeper.DigestAuthenticationProvider.superDigest=super:g9oN2HttPfn8MMWJZ2r45Np/LIA= $SERVER_JVMFLAGS"

4.在客户端使用超级用户登陆

使用客户端登陆到zookeeper服务端:

zkCli.sh -server zdh-9:12181

然后执行命令切换到超级用户:

addauth digest super:superpw

这样就可以删除带有权限控制的节点了:

deleteall /storm

可以看到/storm节点stormkrb使用sasl创建的[zk: zdh-9:12181(CONNECTED) 7] getAcl /storm'sasl,'stormkrb

: cdrwa'world,'anyone

: cr

作者:木木与呆呆

链接:https://www.jianshu.com/p/373d52375a65

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

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

相关文章

JavaScript测验——使用赋值运算符初始化变量---第4关

通常在声明变量的时候会给变量初始化一个初始值。 例如: var myVar 0; 以上代码创建一个名为myVar的变量并指定一个初始值0。

Zabbix-3.0.0 安装Graphtree

导读Zabbix中,想要集中展示图像,唯一的选择是screen,后来zatree解决了screen的问题,但性能不够好。Graphtree 由OneOaaS开发并开源出来,用来解决Zabbix的图形展示问题,性能较好。一、Graphtree功能概述集中…

装饰器设计模式示例

本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因,并了解何时以及如何应用模式中的每一个。 在这里查看 ! 目录 …

5.1.2全景声音箱摆位_如何体验全景声

如何体验全景声(科普)要想体验全景声,三大要素不可少。1、输出设备:支持全景声的播放设备,比如碟机,比如电视盒子,比如XBOXONEX。如果电视和音响都支持EARC,则可以不用播放设备&…

JavaScript测验——未初始化的变量---第5关

校验规则 当你用一个值是undefined的变量来做字符串拼接操作的时候,它会输出字符串"undefined"。 闯关: 定义 3 个变量a、b、c,并且分别给他们赋值:3、9、"I am pretty",这样它们值就不会是undefined了。

Java中使用Socket实现服务器端和客户端通讯

创建服务器端serverSocket 1 import java.io.BufferedReader;2 import java.io.IOException;3 import java.io.InputStream;4 import java.io.InputStreamReader;5 import java.io.OutputStream;6 import java.io.PrintWriter;7 import java.net.ServerSocket;8 import java.ne…

修改telnet提示并非_俊翔:修改ECU数据解除奔驰GL350尿素限制

为达到排放要求,很多乘用柴油车都要加尿素(Adblue),以降低废气排放。在轿车维修当中,最常见的有奔驰GL350、路虎揽胜出现尿素锁定。仪表上提示加尿素,并且限制启动次数。每当把发动机熄火再启动一次,次数就会减少&…

JavaScript测验——变量名大小写---第6关

校验规则 例如: var userName; var userLoginFlag;闯关: 修改已声明的变量,让它们的命名符合驼峰命名法的规范。 这个需要注意的是在声明和赋值时都应该使用驼峰命名法。

python编码规范

python编码规范 文件及目录规范 文件保存为 utf-8 格式。程序首行必须为编码声明:# -*- coding:utf-8 -*-文件名全部小写。代码风格 空格 设置用空格符替换TAB符。代码缩进为4个空格符。仅在运算符前后(如,-,,)各加一个空格,不要在…

redux异步action_React躬行记(12)——Redux中间件

Redux的中间件(Middleware)遵循了即插即用的设计思想,出现在Action到达Reducer之前(如图10所示)的位置。中间件是一个固定模式的独立函数,当把多个中间件像管道那样串联在一起时,前一个中间件不…

java方法示例注释 @_Java注释和真实世界的Spring示例

java方法示例注释 “注释”是编程语言定义的一种,并用作“标记”。 可以将它们视为编程语言引擎可以理解的注释行。 它们不会直接影响程序的执行,但会直接影响程序的执行。 定义 注释使用interface关键字定义,并且与接口相似。 它具有定义类…

监控与管理

本文是我们名为“ Spring Integration for EAI ”的学院课程的一部分。 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们。 接下来,您将深入研究Spring Integration的基础知识,例如通道,转换器和适…

郑州智慧岛大数据管委会_数据科学融通应用数学 ‖ 智慧岛大讲堂

8月6日上午,郑东新区智慧岛大数据实验区管委会,举办了“数据科学融通应用数学”专题智慧岛大讲堂讲座,邀请到北京大学数学科学学院副教授、大数据分析与应用技术国家工程实验室郑州数字创新中心主任卢朓为本次大讲堂活动做主题分享&#xff0…

浏览器中的WebSocket(ws://127.0.0.1:9988);

<script type"text/javascript">function WebSocketTest(){if ("WebSocket" in window){alert("您的浏览器支持 WebSocket!");// 打开一个 web socketvar ws new WebSocket("ws://localhost:9998/echo");ws.onopen function()…

db2 获取返回的游标_MySQL ------ 存储过程与游标简单使用

存储过程小例子如完成以下事情&#xff0c;获得与之前一样的订单合计&#xff0c;但需要对合计增加营业税&#xff0c;不过只针对某些顾客主要就是&#xff1a;1、获得合计2、把营业税有条件的添加到合计 3、返回合计&#xff08;带或不带税&#xff09;delimiter $$-- 存储过程…

hdu_5761_Rower Bo(xjb猜公式)

题目链接&#xff1a;hdu_5761_Rower Bo 题意&#xff1a; 让你求一个物理问题 题解&#xff1a; xjb猜公式&#xff0c;由题目样例可得&#xff0c;答案为8/7&#xff0c;然后我们可以xjb猜出公式为v1*a/(v1*v1-v2*v2)&#xff0c;然后特判一下a0和v1<v2的情况就OK 1 #incl…