TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装指导
    • 魔改分享
  • 高阶玩法

    • 实战 Kerberos
    • 实战 Ranger
  • 版本专题

    • 更新说明
    • BUG临时处理
  • 实验室

    • VIEW插件
    • JIRA速查
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 二开指导

    • 前端开发
    • 后端开发
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Kylin V10系列
    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 优化增强

    • 组件配置调优
  • 支持&共建

    • 蓝图愿景
    • 合作共建
    • 服务说明
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装指导
    • 魔改分享
  • 高阶玩法

    • 实战 Kerberos
    • 实战 Ranger
  • 版本专题

    • 更新说明
    • BUG临时处理
  • 实验室

    • VIEW插件
    • JIRA速查
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 二开指导

    • 前端开发
    • 后端开发
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Kylin V10系列
    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 优化增强

    • 组件配置调优
  • 支持&共建

    • 蓝图愿景
    • 合作共建
    • 服务说明
登陆
GitHub (opens new window)
  • HA-高可用安装-其他发行版|低于2.2.3版本

    • 环境准备

    • Kerberos准备

    • 安装指导

      • [Step4] Ambari页面开启 Ranger Admin 高可用
      • [Step5] 对齐 Ranger HA 的凭证处理
        • 一、为什么必须写这一章
        • 二、默认 SPNEGO 配置的限制
          • 2.1 Ambari 中的默认配置现状
          • 2.2 直接修改为什么不可行
        • 三、回到源码层面的可用配置项
          • 3.1 源码行为确认
        • 四、确认 HA 使用的 HTTP Keytab
          • 4.1 查看 keytab 中的 principal
        • 五、配置 Ranger Admin 使用 HA SPNEGO 凭证
          • 5.1 设置 HA 专用 keytab
          • 5.2 修正 SPNEGO principal
          • 5.3 保存并重启
        • 六、配置生效验证
          • 6.1 配置文件确认
          • 6.2 服务与访问状态
  • 踩坑合集

  • 组件安装-Ranger
  • HA-高可用安装-其他发行版|低于2.2.3版本
  • 安装指导
JaneTTR
2026-02-02
目录

[Step5] 对齐 Ranger HA 的凭证处理不改报错

# 一、为什么必须写这一章

在完成 Ranger Admin 高可用 与 External URL 指向 Haproxy 之后,如果不继续处理 Kerberos 凭证问题,Ranger 相关访问 一定会出现异常。

必须说明

这一章不是“优化项”,而是必选项。 如果跳过,将直接导致 Ranger Admin 的 Kerberos / SPNEGO 认证失败。

# 二、默认 SPNEGO 配置的限制

# 2.1 Ambari 中的默认配置现状

在 Ranger 的 Kerberos 配置中,可以看到如下参数:

image-20260203142957332

其中存在两个关键问题:

配置项 现状 说明
ranger.spnego.kerberos.keytab 不可修改 Ambari UI 中被锁定
ranger.spnego.kerberos.principal * 不符合 HA + 域名访问场景

注意

在 HA 场景下,Ranger Admin 是通过 http://ranger-ha.hadoop.com:16080 对外提供服务的,而默认生成的 xxxxx/主机名@REALM 凭证无法匹配该访问方式。

# 2.2 直接修改为什么不可行

  • keytab 路径无法在 UI 中直接替换
  • principal 使用通配符在 Kerberos 认证中不可控
  • 强行修改配置文件,下一次 Ambari 刷新配置会被覆盖

因此,不能走“常规改配置”的思路。

# 三、回到源码层面的可用配置项

# 3.1 源码行为确认

回到 Ranger Admin 的源码层,可以看到对 HA 场景做了专门支持:

image-20260203142805809

从源码逻辑可以确认:

关键结论

只要配置了:

  • ranger.ha.spnego.kerberos.keytab

Ranger Admin 在 HA 场景下,就会优先使用该 keytab, 从而绕过默认 ranger.spnego.kerberos.keytab 的限制。

# 四、确认 HA 使用的 HTTP Keytab

在前面步骤中,我们已经准备好了 HA 使用的 HTTP keytab 文件:

/etc/security/keytabs/rangerhttpha.service.keytab
1

# 4.1 查看 keytab 中的 principal

klist -kte /etc/security/keytabs/rangerhttpha.service.keytab
1

结果如下:

image-20260203143146873

可以确认 keytab 中包含的 principal 为:

HTTP/ranger-ha.hadoop.com@TTBIGDATA.COM
1

该 principal 与 External URL 完全一致,符合 HA 场景预期。

# 五、配置 Ranger Admin 使用 HA SPNEGO 凭证

# 5.1 设置 HA 专用 keytab

在 Ambari → Ranger → Configs 中,新增或修改参数:

ranger.ha.spnego.kerberos.keytab
1

值设置为:

/etc/security/keytabs/rangerhttpha.service.keytab
1

如下图所示:

image-20260203161110015

# 5.2 修正 SPNEGO principal

将原有的:

ranger.spnego.kerberos.principal = *
1

修改为:

HTTP/ranger-ha.hadoop.com@TTBIGDATA.COM
1

如下图所示:

image-20260203161228453

# 5.3 保存并重启

保存配置后,Ambari 会提示有 2 个参数发生变更,直接点击重启即可。

image-20260203161328462

# 六、配置生效验证

# 6.1 配置文件确认

重启完成后,可以在 Ranger Admin 节点上确认配置文件已生效:

/etc/ranger/admin/conf/ranger-admin-site.xml
1

image-20260203161624722

可以看到:

  • HA keytab 路径已写入
  • SPNEGO principal 已指向 HA 域名

# 6.2 服务与访问状态

此时:

  • Ranger Admin 可正常启动
  • Ambari 可正常获取 Ranger Service
  • 插件侧(如 HDFS)不再出现 Kerberos 认证异常

登录访问:

image

#Kerberos#Ranger Admin#Haproxy#Ambari#Kylin V10
[Step4] Ambari页面开启 Ranger Admin 高可用
调用 Ranger API 返回 403 问题

← [Step4] Ambari页面开启 Ranger Admin 高可用 调用 Ranger API 返回 403 问题→

最近更新
01
调用 Ranger API 返回 403 问题
02-03
02
[Step1] Haproxy 规划与环境安装 Kylin V10
02-02
03
[Step2] 统一访问域名的 Kerberos 票据生成
02-02
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式