首先注意:在配置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权限配置的更多相关文章

  1. Zookeeper Acl权限 超级用户权限 怎么跳过ACL密码/账户验证

    Zookeeper的一个节点不知道什么原因无法删除了,查看日志发现是没有权限, 我们之前使用ACL进行Zookeeper节点的权限管理. 可以解决以下三种但不限于以下三种问题: 1.在设置Acl权限时 ...

  2. Linux 账号管理与 ACL 权限配置

    要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过, 不同的使用者应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限配置, 来规范出不同的群组开发项 ...

  3. zookeeper ACL权限

    原文链接:https://www.jianshu.com/p/392248ab27f4 对zookeeper设置ACL属性 我们以zkCli为例,来说明zookeeper对ACL的设置. 使用zkCl ...

  4. 第十四章、Linux 账号管理与 ACL 权限配置

    1. Linux 的账号与群组 1.1 使用者标识符: UID 与 GID 1.2 使用者账号:/etc/passwd 文件结构, /etc/shadow 文件结构 1.3 关于群组: /etc/gr ...

  5. 1.ZooKeeper ACL权限控制

    参考:https://blog.csdn.net/liuxiao723846/article/details/79391650 ZK 类似文件系统,Client 可以在上面创建节点.更新节点.删除节点 ...

  6. solr+zookeeper集群配置

    将solr配置文件交给zookeeper进行管理 ./zkcli.sh -zkhost node01:2181,node02:2181,node03:2181 -cmd upconfig -confd ...

  7. ZooKeeper ACL权限设置

    ZK的节点有5种操作权限:CREATE.READ.WRITE.DELETE.ADMIN 也就是 增.删.改.查.管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)注:这5种权限中,del ...

  8. 鸟哥私房菜基础篇:Linux 账号管理与 ACL 权限配置习题

    猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0410accountmanager.php 1-root 的 UID 与 GID 是多少?而基于这个理由 ...

  9. linux ACL权限规划:getfacl,setfacl使用

    ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户.单一文件 ...

随机推荐

  1. Android Hotpatch系列之-项目介绍

    给现实Android apk打补丁,不用强迫客户升级客户端,悄悄的就把bug修复了,程序猿再也不用被老大骂娘了. 客户端例子实现:https://github.com/fengcunhan/Hotpa ...

  2. linux cpu性能测试

    sysbench --test=cpu --cpu-max-prime=20000000 run --num-threads=4 mpstat -P ALL 1 1000000

  3. 快速使用node.js进行web开发

    首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将node.js语言特性讲解完之后,又从一个项目角度带领读者使用node.js学习web开发.相信这 ...

  4. MySQL下载及安装

    MySQL官网  http://dev.mysql.com/downloads/ Download --> Community --> MySQL Community Server 选择操 ...

  5. Eplan PPE Pro-panel Electric fluid P8 2.4图文安装教程

    Eplan ppe pro-panel electric fluid P8等多个最新2.4中文版本的安装,都是使用相同的虚拟驱动MultiKey,还是只有win32位的安装包,不过支持64位操作系统的 ...

  6. SQL Server复制需要有实际的服务器名称才能连接到服务器

    服务器上安装的WIN2008 R2,然后没有在意机器名,安装了SQL2008 R2数据库之后,配置AD域的时候修改了机器名. 然后,开始配置数据库镜像同步的时候,先试了下数据库复制发布,结果提示“SQ ...

  7. ruby formatting time

    %Y%m%d => 20071119 Calendar date (basic) %F => 2007-11-19 Calendar date (extended) %Y-%m => ...

  8. eclipse 代码自动提示

    从Window -> preferences -> Java -> Editor -> Content assist -> Auto-Activation下,我们可以在& ...

  9. Website Speed Optimization Guide for Google PageSpeed Rules

    原链接地址:http://www.artzstudio.com/2016/07/website-speed-optimization-guide-for-google-pagespeed-rules/ ...

  10. JSP三大指令

    JSP三大指令1.page-->最复杂,<%@page language = "java" info = "xxx" ..%>  *pageE ...