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

JaneTTR

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

  • 组件安装

  • Kerberos 旧版专题

    • 实战 Kerberos
    • 自建 Kerberos

      • KDC服务初始化安装

      • 开启Kerberos认证

        • Ambari 中开启 Kerberos 认证流程详解
        • [不看会报错]-Atlas开启准备工作
          • 一、HBase 权限准备(Atlas 首要依赖)
            • 1、初始化 HBase 身份凭证
          • 二、修复 Solr 访问 401(Atlas 搜索能力依赖)
            • 1、修改 atlas-env.sh,开启 Solr Kerberos HTTPClient
          • 三、Kafka 授权(Atlas Hook 通道必备)
            • 1、授权消费组权限(Group)
            • 2、授权 Topic 消费权限(ATLAS_HOOK)
            • 3、授权 Topic 写入权限(ATLAS_ENTITIES)
        • [不看会报错]-Zeppelin开启准备工作
        • [不看会报错]-Impala开启准备工作
        • [不看会报错]-Trino开启准备工作
      • 关闭Kerberos认证

    • FreeIPA 认证

    • 其他优化技巧

    • 部分组件踩坑合集

    • 实战技巧

    • 其他技巧

  • Ranger 旧版专题

  • 旧版部署
  • Kerberos 旧版专题
  • 自建 Kerberos
  • 开启Kerberos认证
JaneTTR
2025-11-09
目录
一、HBase 权限准备(Atlas 首要依赖)
1、初始化 HBase 身份凭证
二、修复 Solr 访问 401(Atlas 搜索能力依赖)
1、修改 atlas-env.sh,开启 Solr Kerberos HTTPClient
三、Kafka 授权(Atlas Hook 通道必备)
1、授权消费组权限(Group)
2、授权 Topic 消费权限(ATLAS_HOOK)
3、授权 Topic 写入权限(ATLAS_ENTITIES)

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

# 一、HBase 权限准备(Atlas 首要依赖)

Atlas 开启 Kerberos 后,最先暴露的问题通常是 向 HBase 写入元数据失败。
因此,第一件事就是给 Atlas 主体分配 HBase 权限。

操作说明

执行 HBase 授权前,需要先用 hbase.service.keytab 完成 kinit。

# 1、初始化 HBase 身份凭证

kinit -kt /etc/security/keytabs/hbase.service.keytab hbase/[email protected]
echo "grant 'atlas','RWXCA','@default'" | hbase shell -n
1
2

授权后 Atlas 才能正常向 HBase 写入实体、类型、关系等元数据。

如果权限缺失,将触发:

  • Atlas 启动失败
  • 无法写入实体
  • HBase 返回权限不足(AccessDeniedException)

更多报错可参考:

Atlas启动-Hbase权限异常

# 二、修复 Solr 访问 401(Atlas 搜索能力依赖)

完成 HBase 权限后,Atlas 会继续初始化搜索索引。 此时如果出现 Solr 401 Unauthorized,说明 Solr 的 HTTPClient 还未启用 Kerberos。

相关排查请参考:

Atlas启动-Solr权限异常

# 1、修改 atlas-env.sh,开启 Solr Kerberos HTTPClient

找到 Ambari 模板:

/usr/bigtop/current/atlas-server/conf/atlas-env.sh
1

在启用 Kerberos 的区块中加入:

{% if security_enabled %}
export ATLAS_OPTS="{{metadata_opts}} \
-Dzookeeper.sasl.client.username={{zk_principal_user}} \
-Djava.security.auth.login.config={{atlas_jaas_file}} \
-Dsolr.kerberos.jaas.appname=Client \
-Djavax.security.auth.useSubjectCredsOnly=false \
-Dsolr.httpclient.builder.factory=org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder \
-Dsun.security.krb5.debug=true"
{% else %}
export ATLAS_OPTS="{{metadata_opts}}"
{% endif %}
1
2
3
4
5
6
7
8
9
10
11

版本提示

若 Atlas 使用 2.2.1 及以上版本,此段配置已经在 Ambari 中适配,无需重复添加。

# 三、Kafka 授权(Atlas Hook 通道必备)

Atlas 的 Hook 依赖 Kafka 完成通知分发:

  • Hive Hook → Kafka → Atlas
  • HBase Hook → Kafka → Atlas

因此若 Kafka ACL 未配置,Atlas 会报:

  • GroupAuthorizationException
  • TopicAuthorizationException

下面三步是启用 Kerberos 后必做的 ACL 授权。

# 1、授权消费组权限(Group)

./kafka-acls.sh \
  --authorizer-properties zookeeper.connect=dev1:2181,dev2:2181,dev3:2181 \
  --add --allow-principal "User:atlas" \
  --group atlas --operation Read --operation Describe --resource-pattern-type LITERAL
1
2
3
4

# 2、授权 Topic 消费权限(ATLAS_HOOK)

./kafka-acls.sh \
  --authorizer-properties zookeeper.connect=dev1:2181,dev2:2181,dev3:2181 \
  --add --allow-principal "User:atlas" \
  --topic ATLAS_HOOK --operation Read --operation Describe --resource-pattern-type LITERAL
1
2
3
4

# 3、授权 Topic 写入权限(ATLAS_ENTITIES)

./kafka-acls.sh \
  --authorizer-properties zookeeper.connect=dev1:2181,dev2:2181,dev3:2181 \
  --add --allow-principal "User:atlas" \
  --topic ATLAS_ENTITIES --operation Write --operation Describe --resource-pattern-type LITERAL
1
2
3
4

Kafka 相关报错分析可参考:

Atlas启动-Kafka权限异常

#Atlas#Kerberos#安全认证#Ambari
Ambari 中开启 Kerberos 认证流程详解
[不看会报错]-Zeppelin开启准备工作

← Ambari 中开启 Kerberos 认证流程详解 [不看会报错]-Zeppelin开启准备工作→

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