Ranger Solr配置

Ranger 的审计配置

默认Hadoop集群环境是没有权限控制的,HDFS、Hive上文件和表是可以随意访问的,这对公司的数据资产带来的很大风险。随着大数据生态的进化和成熟,越来越多的公司都实施了自己数据治理策略,权限管理就是其中不可或缺的一部分。Apache Ranger是Hadoop开源生态中提供集中式权限管理的框架,可以对Hadoop生态中Hive、HDFS、YARN等组件进行细粒度的权限访问控制。
Ranger主要有以下三个组件组成
Ranger Admin
提供创建和更新安全访问策略,这些策略被存储在数据库中。各个组件的plugin定期对这些策略进行轮询。
Ranger Plugins
Plugin是嵌入各个组件的一个插件,它是一个轻量级的程序,例如Ranger对Hive插件就会嵌入到Hiveserver2中。插件会定期从Admin拉取策略数据,并把它们保存在本地文件系统中,当接受到用户的访时时,对应组件的插件会拦截用户请求,并根据安全策略对其进行评估。
Ranger UserSync
提供了一个用户同步工具,可以从Linux或LDP同步用户和用户租的信息。这些用户和用户组的信息被存储在Admin的本地数据库中,可以在定义策略时使用。

Ranger是支持审计功能的,安装时可以选择审计数据保存的位置,默认支持Solr和HDFS。HDFS的配置比较简单,这里就不赘述了。这次遇到的问题主要是在Solr配置这部分,我安装的是HDP 2.6.5对应的Ranger Version是 0.7,Ranger0.7中自带的Solr Schema比较老,我用的是Solr 8.6,直接使用自带Schema是不兼容的,需要对Schema进行升级改动。Schema升级成功之后,可以通过Ranger管理后台中的查看审计功能页面进行验证,如果配置错误,页面会提示错误信息。这里我遇到的问题是,当Solr配置好以后审计日志并没有写入Solr,Solr查不到数据。检查Ranger Hive Agent源代码没看什么问题,后台通过管理后台添加一条记录,Solr就可以工作了,可能是Solr这边的一个Bug。

  1. 启动Solr Docker
#创建Solr Docker
docker run -d -v "solrdata:/var/solr" --name solr -p 8983:8983   solr:8
#进入UI验证一下是否启动成功
http://10.91.1.85:8983/solr/#/
#创建solr collection
docker exec -ti solr bash
solr create_core -c ranger_audits
#后台UI验证一下
http://10.91.1.85:8983/solr/#/ranger_audits/core-overview
#更新Schema

  1. 在Ranger后台管理页面,添加Solr配置,保存并启动相关服务

在这里插入图片描述
在这里插入图片描述
3. 用户登陆beeline进行查询,进入Ranger查看Audit记录,此时应该是没有结果的,也就是说数据没有写入成功
在这里插入图片描述
4. 在Solr后台为Collection添加一条记录
在这里插入图片描述
5. 再次进入Ranger后台中的Audit页面,这时就可以看到审计的记录了
在这里插入图片描述

managed-schema 放到网盘了,有需要可以参考
链接: https://pan.baidu.com/s/1KISNKdx1PkHsY58XKfoI6A
密码: hcaj

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值