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准备

      • [Step2] 统一访问域名的 Kerberos 票据生成
        • 一、环境说明与票据规划
          • 1.1 当前环境角色分布
          • 1.2 为什么需要 HTTP 票据
        • 二、生成 HTTP Service Keytab
          • 2.1 确认加密算法
          • 2.2 在 KDC 上生成 HTTP keytab
          • 2.3 校验 keytab 内容
        • 三、分发 keytab 并设置权限
          • 3.1 分发至 Ranger Admin 主机
          • 3.2 设置 keytab 权限
      • [Step3] 调整 Kerberos Client 配置
    • 安装指导

  • 踩坑合集

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

[Step2] 统一访问域名的 Kerberos 票据生成

# 一、环境说明与票据规划

# 1.1 当前环境角色分布

在现有集群中,各角色规划如下:

角色 主机
KDC Server dev1
Ranger Admin dev2
Ranger Admin dev3
统一访问域名 ranger-ha.hadoop.com

说明:

  • Ranger Admin 以 高可用模式 部署在 dev2 / dev3
  • Kerberos KDC 服务部署在 dev1
  • 通过 统一访问域名 对外提供 Ranger Admin 服务

# 1.2 为什么需要 HTTP 票据

在 Kerberos 环境中:

  • Ranger Admin Web UI
  • Ranger Admin REST API
  • 经由 Haproxy 的统一访问入口

本质上都属于 HTTP 服务访问,因此需要一个对应的 HTTP Service Principal。

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

说明

该 principal 并不绑定某一台主机, 而是绑定 对外访问域名,用于 HA 场景下的统一认证。

# 二、生成 HTTP Service Keytab

# 2.1 确认加密算法

在生成 keytab 前,先确认当前 Kerberos 使用的加密方式。

image-20260203102058219

从环境配置可以看到,当前主要使用:

  • aes256-cts-hmac-sha1-96
  • aes128-cts-hmac-sha1-96

后续生成 keytab 时,需要显式指定该加密算法,避免因算法不匹配导致认证失败。

# 2.2 在 KDC 上生成 HTTP keytab

在 KDC Server(dev1) 上执行以下命令:

kadmin.local -q "ktadd -k /tmp/http_ranger_ha.keytab \
-e aes256-cts-hmac-sha1-96:normal,aes128-cts-hmac-sha1-96:normal \
HTTP/ranger-ha.hadoop.com@TTBIGDATA.COM"
1
2
3

该命令完成的工作包括:

  • 为 HTTP/ranger-ha.hadoop.com 生成服务密钥
  • 将密钥写入指定的 keytab 文件
  • 同时支持 AES256 / AES128 两种加密方式

# 2.3 校验 keytab 内容

生成完成后,可以通过 klist 验证 keytab 是否符合预期:

klist -kte -e /tmp/http_ranger_ha.keytab | egrep -i "HTTP/ranger-ha|aes|vno|kvno"
1

image-20260203102340564

校验重点包括:

校验项 说明
Principal HTTP/ranger-ha.hadoop.com@TTBIGDATA.COM
Encryption AES256 / AES128
KVNO 正常递增

提示

只要 principal 与加密算法正确, KVNO 是否为最新并不影响后续 Ranger Admin 使用。

# 三、分发 keytab 并设置权限

# 3.1 分发至 Ranger Admin 主机

由于 Ranger Admin 部署在 dev2 / dev3 两台主机,需要将 keytab 分发到对应节点。

在 dev1(KDC) 上执行:

scp /tmp/http_ranger_ha.keytab dev2:/etc/security/keytabs/rangerhttpha.service.keytab
scp /tmp/http_ranger_ha.keytab dev3:/etc/security/keytabs/rangerhttpha.service.keytab
1
2

# 3.2 设置 keytab 权限

在 dev2 / dev3 上分别执行:

chown ranger:hadoop /etc/security/keytabs/rangerhttpha.service.keytab
chmod 400 /etc/security/keytabs/rangerhttpha.service.keytab
1
2

image-20260203102856443

权限说明:

项目 值
Owner ranger
Group hadoop
Mode 400

必须项

keytab 权限过大将带来安全风险, 权限不足则会导致 Ranger Admin 启动失败。

#Kerberos#Ranger Admin#Haproxy#Ambari#Kylin V10
[Step1] Haproxy 规划与环境安装
[Step3] 调整 Kerberos Client 配置

← [Step1] Haproxy 规划与环境安装 [Step3] 调整 Kerberos Client 配置→

最近更新
01
调用 Ranger API 返回 403 问题
02-03
02
[Step1] Haproxy 规划与环境安装 Kylin V10
02-02
03
[Step3] 调整 Kerberos Client 配置 不改报错
02-02
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式