Solr Zookeeper ACL权限配置
首先注意:在配置ACL的时候,请关闭solr运行实例!!否则可能对集群造成不可恢复的损坏
开始:
1.修改solr.xml,在solrCloud节点添加,告诉solr要使用的provider:
<!--zkACL-->
<str name="zkCredientialsProvider">org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider</str>
<str name="zkACLProvider">org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider</str>
2.给zkcli.sh添加两个变量,并把变量加到PATH变量中,这样使用zkcli.sh访问zk的时候,就提供了provider和相关用户名密码
添加的内容:
#ZK_ACLS
SOLR_ZK_CREDS_AND_ACLS="-DzkDigestUsername=admin-user -DzkDigestPassword=admin-password -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=readonly-password"
SOLR_ZK_PROVIDERS="-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider"
修改的内容:

3.在bin/solr.in.sh底部添加如下用户名密码的配置,目的是为了让bin/solr 脚本能够有访问zk配置文件的权限(也就是说让solr的web界面里能够显示zk配置文件)
#ZK ACLS
SOLR_ZK_CREDS_AND_ACLS="-DzkDigestUsername=admin-user -DzkDigestPassword=admin-password -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=readonly-password"
SOLR_OPTS="$SOLR_OPTS $SOLR_ZK_CREDS_AND_ACLS"
好了,配置完成。
下面我们来测试一下,
假设我们原本的zk里面文件夹节点/collections,我们来给它添加权限,执行:
sh zkcli.sh -zkhost 10.172.85.105 -cmd updateacls /collections
执行完成后我们进入zk客户端命令行,执行:
ls /collections,结果如下:

证明我们成功给/collections这个节点添加了权限。
我们来查看一下/collections这个节点的权限设置:

如图中所示,代表有两个用户admin-user和readonly-user拥有这个节点的权限,admin-user的权限是cdrwa,readonly-user的权限是r。
我们授予权限admin-user,然后再查看,这时候就可以查看了:

接下来我们启动solr,在solr admin的管理页面里查看zk的配置文件:

如图,查看成功,这说明之前我们配置的solr.xml和solr.in.sh成功的在solr启动时给予solr集群访问zk的权限。
备注:
1.上述我们是手动给/collections添加了权限,对于solr自动创建的文件,如果是在我们配置ACL之前已经生成的文件,都需要我们手动添加权限,对于配置ACL之后生成的文件,全部会自动添加solr.in.sh中配置的权限。
2.zk的权限设置是非继承的,也就是说如果A文件夹节点里有子文件夹节点B,我们在zk的客户端命令行中给A设置权限,那么B不会受影响,任意用户都可以访问B。然而上述我们用zkcli.sh的updateacls命令给/collections目录节点设置权限时,实际上solr内部的org.apache.solr.cloud.ZkCLI 会递归地将collections下的全部文件夹节点/文件节点都设置上权限。
Solr Zookeeper ACL权限配置的更多相关文章
- Zookeeper Acl权限 超级用户权限 怎么跳过ACL密码/账户验证
Zookeeper的一个节点不知道什么原因无法删除了,查看日志发现是没有权限, 我们之前使用ACL进行Zookeeper节点的权限管理. 可以解决以下三种但不限于以下三种问题: 1.在设置Acl权限时 ...
- Linux 账号管理与 ACL 权限配置
要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过, 不同的使用者应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限配置, 来规范出不同的群组开发项 ...
- zookeeper ACL权限
原文链接:https://www.jianshu.com/p/392248ab27f4 对zookeeper设置ACL属性 我们以zkCli为例,来说明zookeeper对ACL的设置. 使用zkCl ...
- 第十四章、Linux 账号管理与 ACL 权限配置
1. Linux 的账号与群组 1.1 使用者标识符: UID 与 GID 1.2 使用者账号:/etc/passwd 文件结构, /etc/shadow 文件结构 1.3 关于群组: /etc/gr ...
- 1.ZooKeeper ACL权限控制
参考:https://blog.csdn.net/liuxiao723846/article/details/79391650 ZK 类似文件系统,Client 可以在上面创建节点.更新节点.删除节点 ...
- solr+zookeeper集群配置
将solr配置文件交给zookeeper进行管理 ./zkcli.sh -zkhost node01:2181,node02:2181,node03:2181 -cmd upconfig -confd ...
- ZooKeeper ACL权限设置
ZK的节点有5种操作权限:CREATE.READ.WRITE.DELETE.ADMIN 也就是 增.删.改.查.管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)注:这5种权限中,del ...
- 鸟哥私房菜基础篇:Linux 账号管理与 ACL 权限配置习题
猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0410accountmanager.php 1-root 的 UID 与 GID 是多少?而基于这个理由 ...
- linux ACL权限规划:getfacl,setfacl使用
ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户.单一文件 ...
随机推荐
- springMvc源码学习之:spring源码总结
转载自:http://www.cnblogs.com/davidwang456/p/4213652.html spring beans下面有如下源文件包: org.springframework.be ...
- python+php+redis+shell实现几台redis的同步数据
之所以使用python,是因为python多线程非常简单. 之所以使用shell,是因为写了个服务,可以方便的重启python写的那个脚本. 总体思路:利用redis的发布订阅,php作为生产者,py ...
- CentOS6.8 MySQL 5.6实现主从复制
主库操作 1.将mysqldump命令添加到/usr/bin中 ln -s /application/mysql/bin/mysqldump /usr/bin/ 2.开启master上的log-bin ...
- 7、java实现的两种单例模式
/* 两种单例模式的演示 */ //饿汉式 class Signal { private Signal(){} private Signal s = new Signal(); public stat ...
- Openstack Neutron OVS ARP Responder
ARP – Why do we need it? In any environment, be it the physical data-center, your home, or a virtual ...
- Delphi下16进制位图数据转位图
如果我们在Form中拖入一个Image控件,并设置好picture后,Alt+F12就可以看到Form的源代码中已经将图片转成了16进制字符串,如下: ? 1 2 3 4 5 6 7 8 9 10 1 ...
- Windows下使用scapy+python2.7实现对pcap文件的读写操作
scapy在linux环境中对pcap文件进行操作非常方便,但在windows下,特别是在python2.7环境下却会碰到各种各样的依赖包无法使用的问题,最明显的可能就属dnet和pcap的pytho ...
- NserviceBus+rabbitmq
Ok so I figured this out after looking a bit at the code and the requirements for amqp URI and it sh ...
- Codeforces 719E [斐波那契区间操作][矩阵快速幂][线段树区间更新]
/* 题意:给定一个长度为n的序列a. 两种操作: 1.给定区间l r 加上某个数x. 2.查询区间l r sigma(fib(ai)) fib代表斐波那契数列. 思路: 1.矩阵操作,由矩阵快速幂求 ...
- HTML&CSS学习笔记(一)
1.role=xxx 用于ARIA,屏幕阅读器识别,ARIA 是 W3C Web 无障碍倡议 (WAI) 的一部分,它定义使 Web 内容和 Web 应用程序更易于访问的方式. ARIA 用于提高使用 ...