TT Bigdata TT Bigdata
首页
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • Ambari 安装

  • 组件安装

  • Kerberos 旧版专题

    • 实战 Kerberos
    • 自建 Kerberos

      • KDC服务初始化安装

      • 开启Kerberos认证

        • Ambari 中开启 Kerberos 认证流程详解
        • [不看会报错]-Atlas开启准备工作
        • [不看会报错]-Zeppelin开启准备工作
        • [不看会报错]-Impala开启准备工作
          • 一、问题背景
          • 二、现象与报错复现
            • 1、已经完成 kinit
            • 2、尝试访问 Impala
            • 3、Ranger 侧也会记录拒绝日志
          • 三、为什么 Impala 依赖 Hive Plugin?
          • 四、解决方法:修改 Ranger Hive Plugin 配置
          • 五、重新测试 Impala 权限
        • [不看会报错]-Trino开启准备工作
      • 关闭Kerberos认证

    • FreeIPA 认证

    • 其他优化技巧

    • 部分组件踩坑合集

    • 实战技巧

    • 其他技巧

  • Ranger 旧版专题

  • 旧版部署
  • Kerberos 旧版专题
  • 自建 Kerberos
  • 开启Kerberos认证
JaneTTR
2025-11-15
目录
一、问题背景
二、现象与报错复现
1、已经完成 kinit
2、尝试访问 Impala
3、Ranger 侧也会记录拒绝日志
三、为什么 Impala 依赖 Hive Plugin?
四、解决方法:修改 Ranger Hive Plugin 配置
五、重新测试 Impala 权限

[不看会报错]-Impala开启准备工作

# 一、问题背景

Impala 在不开启 Ranger、不开启 Kerberos 的情况下通常可以直接运行。但当你在 已经部署 Ranger 的环境里启用 Kerberos 后,如果没有提前把 Impala 需要的用户加入 Hive Plugin 的策略拉取清单,就会出现下面这种错误现象。

以下是常见的组合触发场景:

  • 安装 Impala
  • Ranger 已经开启 Hive Plugin
  • 同时开启 Kerberos
  • 使用 Impala-shell 访问数据

结果就是:数据访问失败。

# 二、现象与报错复现

# 1、已经完成 kinit

执行:

kinit -kt /etc/security/keytabs/impala.headless.keytab [email protected]
1

# 2、尝试访问 Impala

./impala-shell -k
1

连接成功,但实际执行 SQL:

show tables;
1

返回如下错误:

[root@dev1 shell]# ./impala-shell -k
Starting Impala Shell with Kerberos authentication using Python 2.7.18
Using service name 'impala'
Opened TCP connection to dev1:21050
Connected to dev1:21050
Server version: impalad version 4.4.1-RELEASE RELEASE (build 6edbf57651aa84652e0121fe9055e53c4d350871)
***********************************************************************************
Welcome to the Impala shell.
(Impala Shell v4.4.1-RELEASE (6edbf57) built on Sat Oct 18 00:22:46 UTC 2025)

When you set a query option it lasts for the duration of the Impala shell session.
***********************************************************************************
[dev1:21050] default> show tables;
Query: show tables
ERROR: AuthorizationException: User '[email protected]' does not have privileges to access: default.*.*

[dev1:21050] default>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

这类错误不是 keytab 的问题

认证已经成功,是 授权被拒绝。Impala 能连上,但 Ranger 没有下发对应策略。

# 3、Ranger 侧也会记录拒绝日志

从日志可以看出 —— Impala 使用的其实是 Hive Plugin。

# 三、为什么 Impala 依赖 Hive Plugin?

关键点

Impala 自身并没有单独的 Ranger Plugin,而是 复用 Hive Plugin 的策略下发机制。

所以,当 Ranger 配置里允许拉取策略的用户没有包含:

  • hive
  • impala

两者中任意一个缺失都会导致 Impala 无法拉取 policy → 认证成功但授权失败。

# 四、解决方法:修改 Ranger Hive Plugin 配置

在 Ranger 管理界面中,找到 Hive 对应的 service。

进入 Config → Advanced 视图,将以下三个参数补全:

tag.download.auth.users = hive,impala
policy.download.auth.users = hive,impala
policy.grantrevoke.auth.users = hive,impala
1
2
3

这些参数的作用
配置项 用途说明
tag.download.auth.users 允许哪些用户下载标签策略(tag-based policy)
policy.download.auth.users 允许哪些用户下载常规策略(resource-based policy)
policy.grantrevoke.auth.users 允许哪些用户执行授予/回收权限操作

填写完成后保存并刷新策略。

# 五、重新测试 Impala 权限

再次执行:

./impala-shell -k
show tables;
1
2

现在已经可以正常访问 default 数据库。

再看 Ranger:

可以看到:

  • Impala 成功拉取策略
  • 权限也被正常匹配
  • 查询不再被拒绝
#Kerberos#安全认证#Ambari#Impala#Ranger#HDFS
[不看会报错]-Zeppelin开启准备工作
[不看会报错]-Trino开启准备工作

← [不看会报错]-Zeppelin开启准备工作 [不看会报错]-Trino开启准备工作→

最近更新
01
当前版本 2026/08
08-29
02
把 Ambari Server HA 稳稳地跑起来
08-17
03
从一次启用操作追到主备就绪
08-17
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式