Apache Ranger安装部署

大数据平台建设系列

Posted by 王灿辉 on 2020-02-25

Apache Ranger提供一个集中式安全管理框架, 并解决授权和审计。它可以对Hadoop生态的组件如HDFS、Yarn、Hive、Hbase等进行细粒度的数据访问控制。通过操作Ranger控制台,管理员可以轻松的通过配置策略来控制用户访问权限。

前置环境

  • JDK 运行RangerAdmin RangerKMS
  • RDBMS
    • 存储授权策略
    • 存储Ranger用户/组
    • 存储审核日志
  • Solr(可选)存储审核日志
  • HDFS(可选)存储审核日志
  • Kerberos(可选)确保所有请求都被认证

本教程对应的是Apache Ranger版本为1.2.0,为版本当前比较常用的稳定版本。方便我们直接应用于日常的工作当中。

Apache Ranger安装部署

1. 下载源码

大家可以访问Ranger官网下载对应版本的Ranger安装包,本教程使用的是Ranger-1.2.0版本,当前最新版本为2.0.0。

我们到清华的镜像网站去下载,同时下载mysql的java驱动包mysql-connector-java。

1
2
$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/ranger/1.2.0/apache-ranger-1.2.0.tar.gz -P ~/download
$ wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/Connector-J/mysql-connector-java-5.1.48.zip -P ~/download/

2. 编译打包

下载完成之后,解压缩,对源码进行编译打包,生成安装包。

1
2
3
4
$ cd ~/download
$ tar zxvf apache-ranger-1.2.0.tar.gz
$ cd apache-ranger-1.2.0
$ mvn clean compile package install assembly:assembly -Dmaven.test.skip=true

编译完成后可在target下看到一系列的安装包。

1
2
3
4
5
6
$ ls target
...
ranger-1.2.0-admin.tar.gz
ranger-1.2.0-hdfs-plugin.tar.gz
ranger-1.2.0-hive-plugin.tar.gz
...

3. 解压

编译完成之后,对安装包进行解压到目录/usr/local下,同时拷贝mysql驱动包到/usr/share/java目录下,并去掉版本号。

1
2
$ tar zxvf ranger-1.2.0-admin.tar.gz -C /usr/local
$ cp mysql-connector-java-5.1.22-bin.jar /usr/share/java/mysql-connector-java-bin.jar

4. 配置

Ranger的安装非常简单,我们只需要配置它自带的install.properties文件即可,配置完成之后执行安装命令会自动进行安装,无需其他配置。我们安装的为简单版本的ranger,没有开启其他功能,比如Kerberos、审计日志等等。我们来看一下install.properties需要关注的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
## 指定Ranger使用的数据库类型,我们这里使用mysql
DB_FLAVOR=MYSQL
## 指定数据库driver的path
SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java-bin.jar
## 指定数据库root用户链接信息
db_root_user=root
db_root_password=12345678
db_host=localhost
## 指定Ranger数据库名称及用户信息
db_name=ranger
db_user=root
db_password=12345678
## 设置一下相关秘钥,后续登录会使用到,注意至少是8位
rangerAdmin_password=12345678
rangerTagsync_password=12345678
rangerUsersync_password=12345678
keyadmin_password=12345678
## 审计日志配置成数据库
audit_store=db
audit_db_user=root
audit_db_name=ranger
audit_db_password=12345678

5. 安装

配置完成之后,进行安装。

1
$ ./setup.sh

6. 启动服务

我们切换到root用户,启动ranger-admin服务,启动完成之后可以通过Web界面进行登录访问。

1
2
3
4
$ sudo su -
$ ranger-admin start
Starting Apache Ranger Admin Service
Apache Ranger Admin Service with pid 17543 has started.

7. 验证服务状态

我们访问 http://hadoop.canhui.wang:6080,可以看到我们Ranger的登录界面,登录的用户名密码为admin,密码是我们前面配置文件中配置的密码。


安装Ranger-HDFS-Plugin

1. 解压

解压缩安装包到指定目录。

1
$ tar zxvf ranger-1.2.0-hdfs-plugin.tar.gz -C /usr/local

2. 配置

只需要修改以下的配置项,其他功能不开启,保持默认即可。

1
2
3
4
5
6
7
8
9
## Ranger Admin地址
POLICY_MGR_URL=http://hadoop.canhui.wang:6080
## 服务名称 很重要,后面在ranger-admin添加时需要保持一致
REPOSITORY_NAME=hdfs
## 安装目录,指定hadoop home
COMPONENT_INSTALL_DIR_NAME=/usr/local/hadoop-2.8.5
## 用户和用户组,我的环境默认使用hadoop用户启动相关服务
CUSTOM_USER=hadoop
CUSTOM_GROUP=hadoop

3. 安装

执行安装命令。

1
$ ./enable-hdfs-plugin.sh

4. 在Ranger的Web界面添加Services

登录Ranger Admin的Web界面,添加HDFS Service。


安装Ranger-Hive-Plugin

1. 解压

解压缩安装包,并移动到指定目录。

1
$ tar zxvf ranger-1.2.0-hive-plugin.tar.gz -C /usr/local

2. 配置

修改以下的配置项,其他保持默认。

1
2
3
4
5
6
7
8
9
## Ranger Admin地址
POLICY_MGR_URL=http://hadoop.canhui.wang:6080
## 服务名称 很重要,后面在ranger-admin添加时需要保持一致
REPOSITORY_NAME=hive
## 安装目录,指定hive home
COMPONENT_INSTALL_DIR_NAME=/usr/local/apache-hive-2.3.6-bin
## 用户和用户组,我的环境默认使用hadoop用户启动相关服务
CUSTOM_USER=hadoop
CUSTOM_GROUP=hadoop

3. 安装

执行安装命令

1
$ ./enable-hive-plugin.sh

4. Ranger-Admin界面添加Services

这里有坑,测试点不通,但是能直接添加上。



赞赏支持
微信赞赏
微信赞赏
支付宝
支付宝