Ranger 安装1.0.2+
# Ranger 安装
Ranger 是后面做权限治理的核心入口。HDFS、Hive、HBase、Kafka、Knox 等组件接入 Ranger 之后,策略才可以集中管理,访问记录也能统一审计。
本篇默认已经完成前一篇的 Solr 安装,并且 http://hadoop1.test.com:8983/solr/ 可以正常打开。
| 配置项 | 本次填写 |
|---|---|
| Ranger 数据库类型 | MySQL / MariaDB |
| 数据库地址 | hadoop1.test.com |
| 数据库端口 | 3306 |
| 数据库名 | ranger |
| 数据库用户 | root |
| 数据库密码 | root |
| Ranger 相关密码 | Rangeradmin123 |
注意
这里为了演示,把 MariaDB 用户名和密码写成了 root / root。生产环境建议单独创建 Ranger 数据库账号,只授予 ranger 库权限,并使用高复杂度密码。
# 1. 准备 Ranger 数据库
在 hadoop1.test.com 上登录 MariaDB,先创建 Ranger 使用的数据库。
mysql -uroot -proot
进入数据库后执行:
CREATE DATABASE IF NOT EXISTS ranger
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_bin;
SHOW DATABASES LIKE 'ranger';
2
3
4
5
能查到 ranger,再回到 Ambari Plus 页面继续安装。
# 2. 选择 Ranger 服务
进入 服务与组件,点击 新增服务,在服务列表里勾选 RANGER。

如果 Solr 已经安装完成,服务列表里会显示 SOLR 已安装,RANGER 是可选状态。这里不要再勾选别的服务,先把 Ranger 单独装完。
# 3. 分配 Ranger Admin 和 Usersync
Master 分配页里,本次保留默认分配:
| 组件 | 节点 |
|---|---|
RANGER_ADMIN | hadoop2.test.com |
RANGER_USERSYNC | hadoop2.test.com |

RANGER_ADMIN 是 Ranger 控制台,RANGER_USERSYNC 用来同步用户和用户组。先放在同一台机器,后面做 LDAP / FreeIPA 接入时排查会更直观。
# 4. 分配 Ranger Tagsync
Slave 分配页里,RANGER_TAGSYNC 放在 hadoop1.test.com。

Tagsync 主要用于后续和 Atlas 标签体系联动。当前先安装组件,后面 Atlas 装好以后再决定是否真正启用标签策略。
# 5. 配置数据库连接
进入配置页后,先处理 Ranger 数据库。重点是把数据库地址统一写成 hadoop1.test.com,不要写短主机名,也不要混用 IP。
| 配置项 | 填写值 |
|---|---|
DB_FLAVOR | MYSQL |
db_name | ranger |
db_user | root |
db_password | root |
db_host | hadoop1.test.com |
ranger.jpa.jdbc.url | jdbc:mysql://hadoop1.test.com:3306/ranger?useLegacyDatetimeCode=false&serverTimezone=UTC |
create_db_dbuser | No |
db_root_user | root |
db_root_password | root |
ranger_privelege_user_jdbc_url | jdbc:mysql://hadoop1.test.com:3306 |

这里我把 create_db_dbuser 设为 No,因为前面已经手动创建了 ranger 数据库,而且演示环境直接使用 root 账号连接。生产环境如果使用独立账号,可以提前建库建用户,也可以让向导自动创建,但两种方式不要混在一起。
数据库配置完成后,点击 测试连接。成功时任务日志里会出现类似下面的结果:
Connected to DB Successfully!
DB connection check completed.
Host checks completed. Command completed successfully!
2
3
# 6. 补齐 Ranger 自身账号密码
配置页顶部如果提示还有必填项没填,可以点击 待填写 过滤器。Ranger 本次需要补齐 4 类密码:

统一填写 Rangeradmin123:
| 配置项 | 用途 |
|---|---|
Ranger Admin user's password | Ranger Web UI 的 admin 登录密码。 |
Ranger KMS keyadmin user's password | Ranger KMS keyadmin 用户密码。 |
Ranger Tagsync user's password | Tagsync 内部用户密码。 |
Ranger Usersync user's password | Usersync 内部用户密码。 |

补齐后,顶部会显示 待填写 0,下一步按钮也会恢复可点击。
# 7. 确认 Ranger 安装清单
确认页里重点看三块:
| 检查项 | 本次结果 |
|---|---|
| 新增服务 | RANGER |
| Master 分配 | RANGER_ADMIN -> hadoop2.test.com,RANGER_USERSYNC -> hadoop2.test.com |
| Slave 分配 | RANGER_TAGSYNC -> hadoop1.test.com |
| 配置校验 | 必填项已填写 |

确认无误后点击 开始安装。
# 8. 等待安装与启动
Ranger 安装会创建数据库表、下发配置、安装组件包并启动服务。这个过程比 Solr 慢一些,正常等任务跑完即可。

向导进入完成页后,说明安装任务已经执行完。

我习惯再多等一会儿,让服务状态从 INSTALLED、STARTING 真正变成 STARTED,不要只看向导完成页。
# 9. 回到服务页验证 Ranger 状态
回到服务列表,可以看到 RANGER 已经处于运行中状态。

# 10. 登录 Ranger Web UI
浏览器访问:
http://hadoop2.test.com:6080/login.jsp
登录账号:
| 用户名 | 密码 |
|---|---|
admin | Rangeradmin123 |

登录后进入 Ranger Service Manager 页面,可以看到 HDFS、HBase、YARN、Knox、Solr、Kafka、Sqoop、Trino 等策略入口。

这一步完成后,Ranger 只是“平台已经装好”。继续安装 Knox、HDFS、Hive、Kafka 之前,我建议先完成 Kerberos 认证启用 和 LDAP 目录接入,再让后续组件逐个接入 Ranger Plugin。