Ranger安装部署 - 扩展组件安装
1. ranger-hdfs plugin安装
1.1 安装ranger hdfs plugin软件包
# pwd /opt/app/ranger-release-ranger-1.2.0/target # tar -zxvf ranger-1.2.0-hdfs-plugin.tar.gz
1.2 修改install.properties文件
# pwd /home/redpeak/app/ranger-release-ranger-1.2.0/target/ranger-1.2.0-hdfs-plugin # vim install.properties 配置ranger admin的地址 POLICY_MGR_URL = http://localhost:6080 配置hdfs的仓库名 REPOSITORY_NAME=hadoopdev 配置hadoop组件的HADOOP_HOME COMPONENT_INSTALL_DIR_NAME=/opt/app/hadoop-2.7.3 配置hdfs的审计日志 XAAUDIT.SOLR.ENABLE=true XAAUDIT.SOLR.URL=http://node1:6083/solr/ranger_audits XAAUDIT.SOLR.USER=NONE XAAUDIT.SOLR.PASSWORD=NONE XAAUDIT.SOLR.ZOOKEEPER=node1:2181,node2:2181,node3:2181/ranger_audits XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/hdfs/audit/solr/spool 配置ranger-hdfs-plugin的所属用户、用户组 CUSTOM_USER=hdfs CUSTOM_GROUP=hadoop
1.3 使hdfs-plugin生效
# pwd /opt/app/apache-ranger-1.2.0/target/ranger-1.2.0-hdfs-plugin # ./enable-hdfs-plugin.sh
结果如下:
1.4 启动hdfs
注:这里是ha高可用模式下的hdfs,
bridge1上启动hdfs和zkfc [root@bridge1 ranger-1.2.0-hdfs-plugin]# start-dfs.sh [root@bridge1 ranger-1.2.0-hdfs-plugin]# hadoop-daemon.sh start zkfc bridge2上启动zkfc (base) [root@bridge2 scripts]# hadoop-daemon.sh start zkfc
若hdfs已启动,则需要重启
[root@bridge1 ranger-1.2.0-hdfs-plugin]# stop-dfs.sh [root@bridge1 ranger-1.2.0-hdfs-plugin]# start-dfs.sh
1.5 新建hdfs组件服务
在 Ranger UI 页面添加 HDFS Service。
- 标准集群
如果您创建的是标准集群(可到详情页面查看安全模式),请参考下图进行配置:
- 高安全集群(kerberos模式)
如果您创建的是高安全集群(可到详情页面查看安全模式),请参考下图进行配置:
policy.download.auth.users : hdfs
注: hdfs用户为hdfs组件配置的kerbero用户,非hdfs的启动用户,如上述配置的为test/_HOST@xxx.com,则policy.download.auth.users=test,而非hdfs用户;如果不配置,就没有权限拉取策略,插件会集成失败
如果hadoop为ha模式,带有journalnode组件,还需要配置
dfs.journalnode.kerberos.principal: hdfs/_HOST@xxxx.COM ,如下:
测试hdfs插件是否正常
1.6 权限配置示例
上面一节中已经将 Ranger 集成到 HDFS,现在可以进行相关的权限设置。例如给用户 test 授予 /user/foo路径的写/执行权限:
单击上图中的 emr-hdfs 进入配置页面,配置相关权限。
按照上述步骤设置添加一个 Policy 后,就实现了对 test 的授权,然后用户 test 就可以对 /user/foo 的 HDFS 路径进行访问了。
注: 添加 Policy 默认1 分钟左右,HDFS 才会生效。
2. ranger-yarn plugin安装
2.1 安装ranger-yarn-plugin软件包
# pwd /optapp/ranger-release-ranger-1.2.0/target # tar -zxvf ranger-1.2.0-yarn-plugin.tar.gz
2.2 修改install.properties文件
# pwd
/home/redpeak/app/ranger-release-ranger-1.2.0/target/ranger-1.2.0-yarn-plugin
# vim install.properties
配置ranger admin的地址
POLICY_MGR_URL = http://localhost:6080
配置yarn的仓库名
REPOSITORY_NAME=yarndev
配置hadoop组件的HADOOP_HOME
COMPONENT_INSTALL_DIR_NAME=/opt/app/hadoop-2.7.3
配置yarn的审计日志
XAAUDIT.SOLR.ENABLE=true
XAAUDIT.SOLR.URL=http://node1:6083/solr/ranger_audits
XAAUDIT.SOLR.USER=NONE
XAAUDIT.SOLR.PASSWORD=NONE
XAAUDIT.SOLR.ZOOKEEPER=node1:2181,node2:2181,node3:2181/ranger_audits
XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/yarn/audit/solr/spool
配置ranger-yarn-plugin的所属用户、用户组
CUSTOM_USER=yarn
CUSTOM_GROUP=hadoop
2.3 使yarn-plugin生效
# pwd /opt/app/apache-ranger-1.2.0/target/ranger-1.2.0-yarn-plugin # ./enable-yarn-plugin.sh
2.4 重启yarn
# stop-yarn.sh # start-yarn.sh
2.5 新建yarn组件服务
登录 Ranger 管理界面,点击 +
配置yarn组件服务,下图的service name要与ranger-yarn-plugin的install.properties配置的REPOSITORY_NAME值要一致。
- 标准集群
如果创建的是标准集群,请参考下图进行配置
- 高安全集群(kerberos模式)
如果创建的是高安全集群,请参考下图进行配置
上述配置不完整,没有配置policy.download.auth.users、yarn.resourcemanager.principal、yarn.nodemanager.principal,如下:
2.6 权限配置示例
如下图所示,点击创建好的 yarn service,进入 policy 配置管理页,即可配置相关策略。
点击 “Add New Policy” 创建新的策略
配置新的策略,如下,yarn上的队列Queue默认为root.default,以此为例,允许root用户在队列root.default上提交,拒绝hadoop用户在队列root.default上提交
接着配置拒绝hadoop用户提交的设置,最后点击保存
注:策略大概会30秒后生效
3. ranger-hive plugin安装
3.1 安装ranger-hive-plugin软件包
# pwd /opt/app/ranger-release-ranger-1.2.0/target # tar -zxvf ranger-1.2.0-hive-plugin.tar.gz
3.2 修改install.properties文件
# pwd
/home/redpeak/app/ranger-release-ranger-1.2.0/target/ranger-1.2.0-hive-plugin
# vim install.properties
配置ranger admin的地址
POLICY_MGR_URL = http://localhost:6080
配置hive的仓库名
REPOSITORY_NAME=hivedev
配置hive组件的HIVE_HOME
COMPONENT_INSTALL_DIR_NAME=/opt/app/apache-hive-2.3.6-bin
配置hive的审计日志
XAAUDIT.SOLR.ENABLE=true
XAAUDIT.SOLR.URL=http://node1:6083/solr/ranger_audits
XAAUDIT.SOLR.USER=NONE
XAAUDIT.SOLR.PASSWORD=NONE
XAAUDIT.SOLR.ZOOKEEPER=node1:2181,node2:2181,node3:2181/ranger_audits
XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/hive/audit/solr/spool
配置ranger-hive-plugin的所属用户、用户组
CUSTOM_USER=hive
CUSTOM_GROUP=hadoop
3.3 使hive-plugin生效
# pwd /opt/app/apache-ranger-1.2.0/target/ranger-1.2.0-hive-plugin # ./enable-hive-plugin.sh
3.4 重启hiveserver2或者hive cli
# cd /opt/app/apache-hive-2.3.6-bin/bin # ./hiveserver2 或者 # ./hive
3.5 新建hive组件服务
登录 Ranger 管理界面,点击 +
配置hive组件服务,下图的service name要与ranger-hive-plugin的install.properties配置的REPOSITORY_NAME值要一致。
- 标准集群
- 高安全集群(kerberos模式)
注:
jdbc.url后面需要带principal=hdfs/host4@xxx.COM,另外还需要添加policy.download.auth.users=*
3.6 hive权限配置示例
如下图所示,点击创建好的 hive service,进入 policy 配置管理页,即可配置相关策略。
3.6.1 hive访问权限配置示例
配置新的策略,如下。这里hive提供10种控制权限,其中read,write不可用。目前支持的命令为index,lock,select,update,create,drop,alter,all。all表示所有命令。
接着配置拒绝hadoop用户的操作命令,最后点击保存
3.6.2 hive列脱敏配置示例
配置新的脱敏策略,如下:
列屏蔽允许Ranger为用户配置列的mask策略。mask支持以下8种策略:
- Redact策略 - 用x屏蔽所有字母字符,用n屏蔽所有数字字符。
- Partial mask: show last 4 策略 - 仅显示最后四个字符,其他用x代替。
- Partial mask: show first 4 策略- 仅显示前四个字符,其他用x代替。
- Hash策略- 用值的哈希值替换原值。
- Nullify策略 - 用NULL值替换原值。
- Unmasked (retain original value)策略 - 原样显示。
- Date: show only year策略 – 仅显示日期字符串的年份部分,并将月份和日期默认为01/01。
- Custom策略 – 可使用任何有效Hive UDF(返回与被屏蔽的列中的数据类型相同的数据类型)来自定义策略。
3.6.3 hive列过滤配置示例
添加新的列过滤策略,如下:
字段过滤红框值为: 列名 + “要过滤的内容”
一般格式为:
- 等于:列名=“要过滤的内容”
- 不等于:列名<>“要过滤的内容”
总结
【参考资料】
https://www.cnblogs.com/taojietaoge/p/10808534.html
https://help.aliyun.com/document_detail/66411.html?spm=a2c4g.11186623.6.786.722e4f2caDRDFt
https://cloud.baidu.com/doc/BMR/s/Jjwvxvdh7
https://blog.csdn.net/sudaxhh/article/details/52334652
https://www.jianshu.com/p/203efa603e25 Ranger集成KMS服务
https://blog.csdn.net/lsshlsw/article/details/103930388 Apache Ranger KMS 部署文档
https://www.iteye.com/blog/kingding-2422915 ranger权限管理、rang kms 秘钥管理、kerberos认证服务整合应用
https://blog.csdn.net/qq_35440040/article/details/78780473 Hadoop KMS 透明加密配置以及测试
https://www.cnblogs.com/felixzh/p/10523067.html Ranger-Kafka插件安装
https://blog.csdn.net/Happy_Sunshine_Boy/article/details/102513629