[Step2] Ranger Admin HA 自动化安装自生成凭证
注意
全自动安装需要版本 ttr-release 版本高于 2.2.3支持。
# 一、开启高可用入口配置
# 1.1 进入高可用向导
在 Ambari 的 Ranger 管理界面中,进入“开启高可用”的向导入口。

# 1.2 填写 External URL(统一访问入口)
此处需要填写我们前面规划好的统一入口地址(Haproxy 对外地址):
http://ranger-ha.hadoop.com:16080
External URL 的意义
External URL 会作为 所有 Ranger Plugin(HDFS/Hive/HBase/Kafka...)的统一访问地址。
也就是说,后续不再建议让插件直连 dev2:6080 或 dev3:6080,统一从该入口走。

填写完成后点击下一步。
# 二、安装第二个 Ranger Admin(dev3)
# 2.1 节点规划确认
按照之前的规划:
dev2:已存在 Ranger Admindev3:新增部署第二个 Ranger Admin
因此向导中会引导把新的 Ranger Admin 安装到 dev3 上。

点击下一步继续。
# 2.2 External URL 预览页
在该页可以看到 External URL 的预览值。该值是统一入口地址,用于后续插件接入与 UI 跳转。
说明
演示环境中目前只安装了 HDFS,所以这里可能只看到一栏。 实际环境中如果安装了更多 Ranger 插件,这里会出现更多组件项。

该页只用于确认预览,点击下一步即可。
# 2.3 执行安装任务
向导会开始执行安装与配置任务。具体耗时与当前集群组件数量、主机性能相关。

任务结束后,状态会显示完成。

点击 Complete 完成整个向导。
# 三、结果确认与入口访问
# 3.1 状态确认
# 3.1.1 首页
回到 Ambari 首页后,可以看到 Ranger 服务已处于安装完成状态。

# 3.1.2 系统级keytab自动化生成
ttr-release-2.2.3 及以上版本支持
系统将基于 REALM 与 DOMAIN 配置,自动完成 Kerberos Principal 与 Keytab 的生成,无需人工干预。

# 3.1.3 其他配置确认
ttr-release-2.2.3 及以上版本
系统将根据既定策略,自动完成 ranger.ha.spnego.kerberos.principal 的解析,并同步生成与配置对应的
ranger.ha.spnego.kerberos.principal 与 ranger.ha.spnego.kerberos.keytab, 无需人工干预。

# 3.2 验证 External URL 跳转
在 Ranger 服务右侧的链接入口处,点击访问,实际跳转的就是高可用后的统一入口地址(VIP / Haproxy)。

# 3.3 登录验证
点击后页面可正常打开,并进入登录界面。

# 四、自定义域名
在 2.2.3 及以上版本 中,引入了 Ranger SPNEGO HA Domain 配置项,用于支持 Ranger 高可用场景下的 SPNEGO 域名自定义。
背景说明
在 HA / VIP 场景中,Ranger Admin 的访问入口通常不再是单机主机名,而是一个统一域名。 若 SPNEGO principal 仍使用原始主机名,将直接导致 Kerberos 认证失败。
# 4.1 配置项的实际作用
Ranger SPNEGO HA Domain 的核心作用是:
参与 HTTP 类型 Kerberos principal 的生成规则,并覆盖默认的主机名推导逻辑。
其影响范围主要集中在 principal 的 domain 部分。
作用点说明
该配置并不会影响用户 principal,仅作用于 Ranger Admin 对外 HTTP 服务 使用的 SPNEGO principal。
# 4.2 principal 替换规则说明
当该配置项生效后,principal 的生成规则如下:
| 配置项值 | 实际生成 principal |
|---|---|
aaaa.bbbbb.ccccc | HTTP/aaaa.bbbbb.ccccc@REALM |
也就是说,只要填写域名即可,系统会自动补齐:
HTTP/@REALM

# 4.3 保存配置后的必做操作
重要
仅保存配置并不会立即生效,这是该配置项最容易被忽略的地方。
保存完成后,必须点击页面上的:
Regenerate keytabs
原因如下:
- SPNEGO 使用的 HTTP principal 存储在 keytab 中
- 修改 domain 只会更新配置,不会自动刷新 keytab
- 若不重新生成 keytab,将出现 配置与实际 keytab 不一致 的问题

# 4.4 实际 HA 场景示例
假设当前 Ranger Admin 的 HA 访问域名为:
ranger-ha1.hadoop.com
那么在 Ranger SPNEGO HA Domain 中填写:
ranger-ha1.hadoop.com
重新生成 keytab 后,系统将生成并使用如下 principal:
HTTP/ranger-ha1.hadoop.com@REALM
该 principal 会写入 Ranger Admin 对应的 SPNEGO keytab 中,用于处理浏览器和客户端的 Kerberos 认证请求。

# 4.5 配置文件层面的变化
完成以上操作后,Ranger Admin 节点上的配置文件也会同步更新。
在 ranger-admin-site.xml 中,可以看到与 SPNEGO 相关的配置项已切换为新的 HA 域名。
验证建议
该文件是判断配置是否真正生效的关键依据之一, 若页面已修改但文件未变,通常意味着 keytab 未重新生成或配置未下发成功。

- 01
- 调用 Ranger API 返回 403 问题02-03
- 02
- [Step1] Haproxy 规划与环境安装 Kylin V1002-02
- 03
- [Step2] 统一访问域名的 Kerberos 票据生成02-02