zookeeper没有对节点设置删除权限,如何删除节点
程序员文章站
2022-07-14 14:41:52
...
设置超级管理员
当对节点设置权限时,没有设置删除权限,那么如果想删除该节点,只能通过超级管理员来删除。
运行代码:
String s = DigestAuthenticationProvider.generateDigest("super:admin");
System.out.println(s);
将打印出来的s 放到:
"-Dzookeeper.DigestAuthenticationProvider.superDigest=s" 将'=s' 中的s替换成打印出来的s
然后放到zookeeper中bin目录下的zkServer.sh文件中,具体位置如下:
nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}"
"-Dzookeeper.DigestAuthenticationProvider.superDigest=s" \
-cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
注意不要出现中文空格
然后重启zkServer.sh
./zkServer.sh restart
然后新登录 addAuth digest super:admin 这样就可以删除了