Zookeeper 常见问题FAQ

1.Zookeeper设置权限之坑

大家都知道,zookeeper创建节点默认的权限为:world:anyone:crdwa

设置权限时,当不小心设置成只读r,那么是不能删除的,不论是使用delete /demo1/d1

还是rmr /demo1

如:

create  /demo1 d

create /demo1/d1 d1

setAcl /demo1 world:anyone:c

解决办法:

启用super超级管理员权限

1.使用DigestAuthenticationProvider.generateDigest(String)得到加密之后的信息:

 public static void main(String[] args) throws NoSuchAlgorithmException {
String result = DigestAuthenticationProvider.generateDigest("super:123456");
System.out.println("super:123456"+"加密之后:"+result);
}

如,输入super:123456得到super:BBO7K8dPkoek/JxIHqXxM75QRpI=

或者执行如下java命令:

java -Djava.ext.dirs=/mk/soft/zookeeper-3.4.10/lib -cp /mk/soft/zookeeper-3.4.10/zookeeper-3.4.10.jar org.apache.zookeeper.server.auth.DigestAuthenticationProvider super:123456

2.修改zkServer.sh或zkServer.cmd脚本

如果是zkServer.sh:找到

nohup $JAVA "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}"

在里面增加:

"-Dzookeeper.DigestAuthenticationProvider.superDigest=super:BBO7K8dPkoek/JxIHqXxM75QRpI="

修改以后的命令变为:

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

-cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &

如果是zkServer.cmd:找到

call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*

在里面增加:

"-Dzookeeper.DigestAuthenticationProvider.superDigest= super:BBO7K8dPkoek/JxIHqXxM75QRpI="

修改以后的命令变为:

call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.DigestAuthenticationProvider.superDigest=super:BBO7K8dPkoek/JxIHqXxM75QRpI=" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*

3.重新zk,使用super:123456登陆

addauth digest super:123456

4.再执行delete或rmr就成功了

最新文章

  1. android 流量 压缩
  2. Mac 安装mysql5.7 注意事项
  3. MathType 公式后的空格问题
  4. python functools模块
  5. HDU 5416 CRB and Tree
  6. 查看linux版本号的几种方法
  7. SQL Server使用问题总结
  8. java Swing 图片缓冲机制
  9. Linux网络服务10——远程访问及控制
  10. 关于 ElesticSearch 安装
  11. svg 五花 元辅音 助读器
  12. [Python数据挖掘]第6章、电力窃漏电用户自动识别
  13. sleep( ) 和 wait( ) 的这 5 个区别,你知道几个?
  14. Hive 根据表中某个字段动态分区 以及临时表创建
  15. GTK# on Ubuntu DllMap
  16. Table Dragger - 简单的 JS 拖放排序表格插件
  17. Vue 框架-10-搭建脚手架 CLI
  18. XAF-DevExpress.ExpressApp.DC.Xpo.XpoTypeInfoSource 生成实体的过程-学习笔记
  19. java的MethodHandle类详解
  20. 十一:image 图片

热门文章

  1. SOA简介
  2. Ubuntu下借助URLOS实现快速安装DzzOffice企业办公套件
  3. python 连接SQL SERVER 并读取其数据
  4. icon.css
  5. Python input/output boilerplate for competitive programming
  6. C++ 的关键字(保留字)完整介绍
  7. Luogu P3511 [POI2010]MOS-Bridges
  8. Linux中使用curl命令发送带参数的get请求和post请求
  9. Robot Framework(二)访问数据库
  10. 附录1:arrayanalysis的本地使用(质量控制)