一、Ranger概述
1.Ranger简介
Apache Ranger提供一个集中式安全管理框架, 并解决授权和审计。它可以对Hadoop生态的组件如HDFS、Yarn、Hive、Hbase等进行细粒度的数据访问控制。通过操作Ranger控制台,管理员可以轻松的通过配置策略来控制用户访问权限。
本文章介绍Ranger与Hive集成过程,与使用方法
2.Ranger包含以下组件
Ranger Admin 用户管理策略,提供WebUI和RestFul接口
Ranger UserSync 用于将Unix系统或LDAP用户/组同步到RangerAdmin
Ranger TagSync 同步Atlas中的Tag信息
Ranger KMS
000.jpg
3.Ranger依赖的组件:
JDK 运行RangerAdmin RangerKMS
RDBMS 1.存储授权策略 2.存储Ranger 用户/组 3.存储审核日志
Solr(可选) 存储审核日志
HDFS(可选) 存储审核日志
Kerberos(可选) 确保所有请求都被认证
4.目前Ranger0.7支持的Plugin
HDFS
YARN
SOLR
ATLAS
HBASE
KNOX
KAFKA
HIVE
STORM
NIFI
二、Ranger编译安装
说明: Ranger可以在Ambari上直接安装。开启AmbariHivePlugin也可以直接在页面上操作。
但如果跟ApacheHive集成的话,需要先编译出ApacheRanger的HivePlugin来
1.Apache Ranger编译
#Install maven git gcc mysql
git clone https://github.com/apache/ranger.git
cd ranger
git checkout release-ranger-0.7.1
mvn clean compile package assembly:assembly install -DskipTests
ls target
2.通过Ambari安装Ranger
前置条件:
1.必须有 MySQL/Oracle/Postgres/MSSQL/SQL Anywhere Server 数据库实例
2.在RangerAdmin主机上 必须安装DB Client
3.确保DB Admin用户可以再其他机器上登陆(用来创建ranger用户)
4.执行下面的命令 导入JDBC驱动 ambari-server setup --jdbc-db={database-type} --jdbc-driver={/jdbc/driver/path}
#导入JDBC驱动:
#(MySQL JDBC Driver Jar包下载页面:https://dev.mysql.com/downloads/connector/j/5.0.html)
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.8.tar.gz
tar -zxvf mysql-connector-java-5.0.8.tar.gz
ambari-server setup --jdbc-db=mysql --jdbc-driver=mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar
3.安装RangerHivePlugin
登陆RangerAdmin: http://l-node1.data.beta.cn0:6080
#AmbariHive可直接在Ambari页面上操作
#ApacheHive的话 需要执行以下命令:
# 1.拷贝RangerHivePlugin安装包
cp target/ranger-0.7.1-hive-plugin.tar.gz /usr/apache
tar -zxvf /usr/apache/ranger-0.7.1-hive-plugin.tar.gz
# 2.编辑install.properties文件
#编辑POLICY_MGR_URL 指向RangerAdmin 例如 POLICY_MGR_URL=http://l-node1.data.beta.cn0:6080
#编辑REPOSITORY_NAME 要与RangerAdmin中ServiceName配置一致 例如 REPOSITORY_NAME=hivebeta
vim /usr/apache/ranger-0.7.1-hive-plugin/install.properties
# 3.配置JAVA_HOME HIVE_HOME 环境变量
echo "export JAVA_HOME=/usr/java/jdk1.8.0_141" >> /etc/bashrc
echo "export HIVE_HOME=/usr/apache/hive" >> /etc/bashrc
source /etc/bashrc
# 4.开启plugin
sudo sh /usr/apache/ranger-0.7.1-hive-plugin/enable-hive-plugin.sh
#显示Ranger Plugin for hive has been enabled. Please restart hive to ensure that changes are effective.即成功
# 5.重启HiveServer
4.RangerAdmin上面配置要管理的HiveServer实例
001.png