如需了解Ranger架构,可浏览以下页面:


一、环境

操作系统:CentOS6.9
软件版本:Ranger2.0.0,Hive2.3.4

二、安装Ranger2.0.0

1、下载源文件

从github下载。执行:

git clone https://github.com/apache/incubator-ranger.git

下载完成后,看到有一个incubator-ranger文件夹,里面就是源文件。

2、安装maven

因为要用maven编译源文件,所以先安装maven。安装方法见:


3、编译源文件

使用maven编译。进入incubator-ranger目录,然后执行:

mvn clean compile package assembly:assembly install

ranger添加hive权限 ranger hive_ranger添加hive权限


编译完成后,得到Ranger的安装包(可执行文件),存放在当前目录的target文件夹下:

ll target/*.tar.gz

ranger添加hive权限 ranger hive_hive_02


4、解压安装包

解压安装包到安装目录。执行:

tar -zxvf ranger-2.0.0-SNAPSHOT-admin.tar.gz -C /u01/app/ranger-2.0.0
tar -zxvf ranger-2.0.0-SNAPSHOT-usersync.tar.gz -C /u01/app/ranger-2.0.0
tar -zxvf ranger-2.0.0-SNAPSHOT-hive-plugin.tar.gz -C /u01/app/ranger-2.0.0

admin(Ranger控制台)和usersync(将Linux用户同步至Ranger)的tar包是必须用到的。其他tar包根据需要解压,我这里只用到Hive,所以只解压了hive-plugin(Ranger的Hive插件)的tar包。

5、安装Ranger控制台:Ranger—admin

5.1 修改配置文件install.properties

cd /u01/app/ranger-2.0.0/ranger-2.0.0-SNAPSHOT-admin
vi install.properties

修改的参数如下:

#此参数表示数据库脚本单独执行
setup_mode=SeparateDBA

#数据库类型
DB_FLAVOR=MYSQL
#连接mysql的jar包所在位置
SQL_CONNECTOR_JAR=/u01/app/apache-hive-2.3.4-bin/lib/mysql-connector-java-5.1.47.jar

db_root_user=root
db_root_password=输入密码
db_host=10.200.4.117
db_name=ranger
db_user=root
db_password=输入密码

#设置Ranger里面的用户密码
rangerAdmin_password=输入密码
rangerTagsync_password=输入密码
rangerUsersync_password=输入密码
keyadmin_password=输入密码

#禁用audit审计,如需开启,需安装solr
#audit_store=solr
#audit_solr_urls=
#audit_solr_user=
#audit_solr_password=
#audit_solr_zookeepers=

5.2 执行数据库脚本

数据库脚本dba_script.py是python文件,我这里服务器上面有安装python3.6和2.6两个版本,用3.6版本的时候报错,改为2.6版本正常。执行:

python2.6 ./dba_script.py

5.3 执行初始化设置

执行:

./setup.sh

5.4 启动Ranger Admin

执行:

ranger-admin start

ranger-admin的参数如下:

[root@oracle02 ranger-2.0.0]# ranger-admin
Invalid argument [];
Usage: Only start | stop | restart | metric | version , are supported.
For Metric Usage: metric -type policies | audits | usergroup | services | database | contextenrichers | denyconditions

验证是否安装成功,访问:http://10.200.4.117:6080

ranger添加hive权限 ranger hive_配置文件_03


用admin登录(密码为前面配置文件install.properties所设置),能正常登录则成功。出现以下页面:

ranger添加hive权限 ranger hive_hive_04


6、安装Ranger Usersync

Ranger Usersync会将linux系统用户同步到ranger数据库。

6.1 修改配置文件install.properties

cd /u01/app/ranger-2.0.0/ranger-2.0.0-SNAPSHOT-usersync
vi install.properties

修改的参数如下:

POLICY_MGR_URL=http://10.200.4.117:6080
SYNC_SOURCE=unix
#多久同步一次数据,单位为分钟
SYNC_INTERVAL=1
logdir=/data/ranger/logs/usersync

6.2 执行初始化设置

执行.:

/setup.sh

6.3 启动Ranger Usersync

执行:

./ranger-usersync-services.sh start

ranger-usersync-services.sh的参数如下:

[root@oracle02 ranger-2.0.0-SNAPSHOT-usersync]# ./ranger-usersync-services.sh
Invalid argument [];
Usage: Only start | stop | restart | version, are supported.

验证是否安装成功:打开Ranger控制台页面,点击“Settings->Users/Groups”,可以看到从Linux同步过来的用户信息则说明成功。如下:

ranger添加hive权限 ranger hive_ranger添加hive权限_05


三、Hive插件安装

1、修改配置文件install.properties

cd /u01/app/ranger-2.0.0/ranger-2.0.0-SNAPSHOT-hive-plugin
vi install.properties

修改的参数如下:

POLICY_MGR_URL=http://10.200.4.117:6080
REPOSITORY_NAME=hivedev

默认是不开启审计。

2、启动Ranger HivePlugin

首先把hive的配置文件conf放到/u01/app/ranger-2.0.0/hive/conf下面。创建软链接:

ln -s /u01/app/apache-hive-2.3.4-bin/conf /u01/app/ranger-2.0.0/hive/conf

然后执行:

./enable-hive-plugin.sh

(停止命令为:./disable-hive-plugin.sh)

3、创建Hive Service

打开Ranger控制台页面:

ranger添加hive权限 ranger hive_hive_06


创建Hive Service:

ranger添加hive权限 ranger hive_ranger添加hive权限_07


注意:Service Name要与前面配置文件install.properties里面的REPOSITORY_NAME一致。点击Test Connection:

ranger添加hive权限 ranger hive_Hive_08


最后点击Add,可以看到Service Manager里面,Hive下面多出一个刚才配置的hivedev。如下:

ranger添加hive权限 ranger hive_ranger添加hive权限_09


然后,就可以点开hivedev进行权限配置了。如下:

ranger添加hive权限 ranger hive_ranger添加hive权限_10


注意:修改权限配置后,一分钟后生效(时间由前面Ranger Usersync的配置文件install.properties设置),客户端不需要重新登录Hive。

完毕。