TT Bigdata TT Bigdata
首页
  • 产品中心

    • 当前版本
    • 版本矩阵与下载
    • 免费开源大数据平台怎么选
  • 安装与使用

    • Ambari Plus 安装
      • 安装前准备
        • 实施总览
        • Step0—源码包下载与目录准备
        • Step1—系统源与基础工具准备
        • Step2—集群免密登录
        • Step3—主机名解析同步
        • Step4—Chrony 时间同步
        • Step5—Nginx 本地 Yum 文件服务
        • Step6—JDK 双环境准备
        • Step7—MySQL 驱动与本地仓库
        • Step8—MariaDB 初始化
        • Step9—AmbariServer 初始化
        • 必须 ambari plus 数据库初始化文件
      • 安装部署
        • 初始化集群
    • 组件安装
      • 组件安装总览
      • Solr 安装
      • Ranger 安装
      • Knox 安装
      • HDFS 安装
      • YARN 安装
      • MapReduce2 安装
      • Tez 安装
      • Hive 安装
      • Sqoop 安装
      • HBase 安装
      • Kafka 安装
      • Flink 安装
      • Spark 安装
      • Hue 安装
      • Livy 安装
      • Zeppelin 安装
      • DolphinScheduler 安装
      • Doris 安装
      • Celeborn 安装
      • Ozone 安装
      • Impala 安装
      • Trino 安装
      • Paimon 安装
      • Hudi 安装
      • Atlas 安装
      • Superset 安装
      • Alluxio 安装
    • 开启高可用
      • 开启高可用总览
      • Ambari Server 开启 HA
      • Ambari Server 成员维护、统一入口与故障接替
      • HDFS 开启 HA
      • YARN 开启 HA
      • Ranger 开启 HA
      • Knox 开启 HA
      • 高可用巡检、重启与故障演练
    • 权限与安全专题
      • 权限与安全总览
      • Kerberos
        • Kerberos 专题
        • 【托管】MIT KDC 单节点接入与验证
        • 【托管】MIT KDC 高可用部署与验证
        • 【外置】MIT KDC 接入与验证
        • 【共用】Principal、Keytab 与账号审计
        • 【共用】LDAP 用户与 Kerberos 身份同步
        • 【共用】外部应用 Kerberos 接入与组件验证
        • 【运维】KDC 备份、密钥轮换与故障恢复
        • Kerberos 停用与回退
        • 附录:托管 MIT KDC 环境准备
        • 附录:原生安装 MIT KDC 实验环境
      • LDAP
        • LDAP 专题
        • 【托管】OpenLDAP 接入与验证
        • 【托管】用户、用户组与授权验证
        • 【托管】OpenLDAP 高可用部署
        • 【外置】LDAP 接入与验证
        • 【外置】用户、用户组与授权验证
        • 【AD】Active Directory 接入与验证
        • 【AD】用户、用户组与授权验证
        • 附录:托管 OpenLDAP 环境准备
        • 附录:【外置】OpenLDAP 原生安装环境
        • 附录:Active Directory 实验环境
    • Ambari Plus Monitor
      • IoTDB 安装与部署
      • 必须 ambari plus monitor 数据库初始化文件
      • Monitor 安装
      • 监控与告警使用
    • 常见问题
      • 安装使用常见问题
  • 发布与支持

    • 更新日志
    • 服务说明
    • 优惠政策
    • 合作共建
    • 蓝图愿景
    • 历史版本
      • 更新日志 · v3.0.2
      • 更新日志 · v3.0.1
      • 更新日志 · v2.2.3
      • 更新日志 · v2.2.2
      • 更新日志 · v2.2.1
      • 更新日志 · v2.2.0
      • 更新日志 · v2.1.0
      • 更新日志 · v2.0.0
      • 更新日志 · v1.0.7
      • 更新日志 · v1.0.6
      • 更新日志 · v1.0.5
      • 更新日志 · v1.0.4
      • 更新日志 · v1.0.3
      • 更新日志 · v1.0.2
      • 更新日志 · v1.0.1
      • 更新日志 · v1.0.0
  • 会员与访问

    • 专属内容解锁
  • Ambari 安装

    • 常规安装
      • 适用于Ambari3.0.0-kylin V10-aarch64
        • Step0—源码包下载
        • Step1—基础环境准备
        • Step2—免密登录配置
        • Step3—安装JDK-Bisheng
        • Step5—Nginx安装
        • Step6—本地yum源配置
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari3.0.0-kylin V10-x86_64
        • Step0—源码包下载
        • Step1—基础环境准备
        • Step2—免密登录配置
        • Step3—安装JDK17与JDK1.8
        • Step5—Nginx安装
        • Step6—本地yum源配置
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari3.0.0-ubuntu22.04
        • Step0—源码包下载
        • Step1—基础环境准备
        • Step3—安装JDK17与JDK1.8
        • Step4—时间同步(Chrony)
        • Step5—Nginx安装
        • Step6—本地apt源
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari3.0.0-el7
        • Step0—源码包下载
        • Step3—安装JDK17(Ambari 3.0专用)
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari3.0.0-el8
        • Step0—源码包下载
        • Step1—基础环境准备
        • Step3—安装JDK17与JDK1.8
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari2.8.0-el7
        • Step1—基础环境准备
        • Step2—免密登陆认证
        • Step3—安装JDK
        • Step4—时间同步(Chrony)
        • Step5—Nginx安装
        • Step6—本地yum源配置
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web Ui 初始化安装
    • 一键部署
      • Ambari快速部署—3.0.0
        • 【Kylin V10 aarch64】强力卸载脚本
        • 【Kylin V10 aarch64】自动安装脚本
        • 【Kylin V10 x86_64】强力卸载脚本
        • 【Kylin V10 x86_64】自动安装脚本
        • 【Ubuntu22】强力卸载脚本
        • 【Ubuntu22】自动安装脚本
        • 【Rocky8.10】强力卸载脚本
        • 【Rocky8.10】自动安装脚本
        • 【Centos7.9】自动安装脚本
      • Ambari快速部署—2.8.0
        • 【Centos7.9】自动安装脚本
        • 【Centos7.9】强力卸载脚本
      • 数据库环境
        • PostgreSQL 快速安装脚本
      • JDK环境
        • 安装JDK1.8
        • 安装JDK 17
        • 安装JDK1.8-aarch64
        • 安装JDK 17-aarch64
      • MAVEN环境
        • 安装Maven3.8.4
        • 安装Maven3.9.9
      • GRADLE环境
        • 安装Gradle5.6.4
      • CONDA环境
        • 安装Miniconda2
        • 编译Ambari2.8.0——Miniconda3
      • R环境
        • 【Kylin V10 x86_64】安装R 4.4.2
        • 【Ubuntu22】安装R 4.4.2
        • 【Rocky8.10】安装R 4.4.2
        • 【CentOS7】安装R 4.4.2
  • 组件安装

    • 安装指导
    • 魔改分享
      • Phoenix-JDK17下编译的二进制包适用于Datagrip
        • Q: 高版本 DataGrip 无法使用 Phoenix 驱动
        • A: Phoenix - JDK17 制作&下载
    • 最小化安装(简单)
      • Zookeeper 安装
      • Hadoop 安装
      • Yarn安装
      • Hive 安装
      • Spark 安装
      • HBase 安装
      • Kafka 安装
      • Sqoop 安装
      • Flink 安装
      • DolphinScheduler 安装
      • Zeppelin 安装
      • Redis 安装
      • Doris安装
      • Celeborn安装
      • Ozone安装
      • Impala安装
      • Cloudbeaver 安装
      • Ambari Metrics安装
      • Solr安装
      • Ranger 安装
      • Trino安装
      • Paimon安装
      • Hudi安装
      • Atlas 安装
      • Superset 安装
      • Livy 安装
      • Alluxio 安装
      • Hue 安装
      • Knox 安装
    • 进阶安装技巧(需开启Kerberos)
      • Ambari Metrics 进阶安装技巧
      • Atlas 进阶安装技巧
    • 高可用安装(有难度)
      • Zookeeper
      • Hadoop-Namenode
      • Yarn-ResourceManager
      • Hive
      • Hbase
      • Kafka
      • DolphinScheduler
      • Redis
      • Doris
      • Celeborn
      • Ozone
      • Ranger
  • Kerberos 旧版专题

    • 实战 Kerberos
    • 自建 Kerberos
      • KDC服务初始化安装
        • KDC服务初始化安装(RHEL篇)
        • KDC服务初始化安装(Ubuntu篇)
      • 开启Kerberos认证
        • Ambari 中开启 Kerberos 认证流程详解
        • [不看会报错]-Atlas开启准备工作
        • [不看会报错]-Zeppelin开启准备工作
        • [不看会报错]-Impala开启准备工作
        • [不看会报错]-Trino开启准备工作
      • 关闭Kerberos认证
        • Ambari 中关闭 Kerberos 认证流程详解
    • FreeIPA 认证
      • FreeIPA服务端初始化
        • FreeIPA Server 安装指导
      • FreeIPA客户端初始化及Ambari开启IPA认证
        • [Step1]-FreeIPA Client 安装与入域实战
        • [Step2]-FreeIPA 初始化核心用户
        • [Step3]-Ambari 中开启 Kerberos 认证流程详解
        • [Step3-1]-krb5-conf template调整
      • 部分踩坑-问题发现
        • Ambari Server 启动失败:no valid keystore
        • FreeIPA Client 导致 Ambari 权限异常问题排查
      • 部分踩坑-完美解决
        • Ambari Server 启动失败:no valid keystore
      • 辅助测试
        • FreeIPA Client 调试安装速记
        • Ambari Server 证书调试安装速记
    • 其他优化技巧
      • Atlas-Ranger-StringUtils缺失
      • Atlas-Ranger-commons-compress缺失
    • 部分组件踩坑合集
      • Test Kerberos Client报错:Failed to kinit
      • KERBEROS SERVICE CHECK 报错
      • Ambari开启Kerberos认证加密类型错误
      • [开启Kerberos]-Solr启动失败处理
      • [开启Kerberos]-Kafka启动失败处理
      • [开启Kerberos]-Atlas启动-Hbase权限异常
      • [开启Kerberos]-Atlas启动-Solr权限异常
      • [开启Kerberos]-Atlas启动-Kafka权限异常
      • [开启Kerberos]-Hive服务检查异常处理
      • [开启Kerberos]-Trino启动-配置文件处理
      • [开启Kerberos]-Trino启动-缺失PEM证书处理
      • [开启Kerberos]-Trino启动-连接Hive失败
      • [关闭 Kerberos]-Kafka 注销异常
      • [关闭 Kerberos]-Hive 注销异常
      • Kerberos 客户端模板渲染异常处理(临时处理)
      • Kafka 启动兼容 Kerberos 源码级修改
      • Kerberos 客户端模板渲染异常处理(源码修改)
    • 实战技巧
      • Knox 接入 Trino web-ui 解决方案
      • [开启Kerberos]-Trino启动-配置模板
      • [Knox适配]-Trino-474-转发规则魔改
    • 其他技巧
      • Ambari Security 开启步骤
  • Ranger 旧版专题

    • 实战 Ranger
    • Ranger HA 旧发行版
      • 环境准备
        • [Step1] Haproxy 规划与环境安装
      • Kerberos准备
        • [Step2] 统一访问域名的 Kerberos 票据生成
        • [Step3] 调整 Kerberos Client 配置
      • 安装指导
        • [Step4] Ambari页面开启 Ranger Admin 高可用
        • [Step5] 对齐 Ranger HA 的凭证处理
    • Ranger HA ttr-release
      • [Step2] Ranger Admin HA 自动化安装
    • FreeIPA 与 LDAP
      • [Step1] Ambari 安装 Ranger 并配置 FreeIPA + LDAP
      • [Step2] 制作 Ranger Usersync 证书并应用组件
      • [Step3] 制作 Ranger Admin 证书并应用组件
      • [Step4]Ranger HDFS Repository 创建失败修复
      • [Step5]Ranger HBase Repository 创建失败修复
    • 踩坑汇总
      • 调用 Ranger API 返回 403 问题
      • Ranger Admin LDAP 认证报 Bad credentials 分析
    • 解决方案
      • Ranger Admin LDAP 认证报 Bad credentials 处理
      • Ranger HA 虚拟域名 Principal 缺失修复
      • Ranger Usersync 证书快速导入脚本(LDAPS)
      • Ranger Admin 证书快速导入脚本
      • Ranger HDFS Repository 快速处理
      • Ranger HBase / Yarn Repository 快速处理
  • 开发环境

    • Ambari-Env
      • 环境准备
      • 开始使用
    • 工具与镜像
      • Maven镜像加速
      • Gradle镜像加速
      • Node.js 多版本共存方案
      • Npm镜像加速
      • Bower镜像加速
      • R环境安装+一键安装脚本
      • PostgreSQL 快速安装
  • Ambari 编译

    • Ambari 源码编译
    • 前端开发
    • 后端开发
    • Ambari Web本地启动
  • Bigtop 编译

    • 官方组件编译
    • 扩展组件编译
    • 工具与镜像
      • Ivy配置私有镜像仓库
      • APT仓库增量更新
      • Temurin JDK 23快速安装
  • Ambari 深度专题

    • Ambari Server 原理
    • Ambari Metrics 解读
    • Ambari Plus 思考
  • Bigtop 方法论

    • Bigtop 深度专题
  • 自定义集成

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 各组件代码
    • 通用代码模板
  • 报错解决

    • Ambari 报错
      • Ambari Views
        • MDEP-187 从根因到修复
        • Loading node labels问题解决
      • Ambari
        • phantomjs下载失败问题
        • 编译问题:GCC 安装与配置
        • bower CERT_HAS_EXPIRED 错误问题
        • Ambari-admin包出现bower install错误
        • Cannot run program "rpmbuild"
        • Python: No such file or directory
        • Yarn解压报错EOFException排查与解决
        • Rpm-maven-plugin与shebang兼容性报错
        • Rpm-maven-plugin 最佳实践
        • Bower install拉取失败解决
        • 缺少 python3 报错解决
        • Python(>=2.6) but is not installed
        • SSL_ERROR_SYSCALL 的修复方法
      • Ambari-infra
        • org.apache.commons.io does not exist
        • maven-compiler-plugin:3.3:compile
        • java.security.InvalidAlgorithmParameterException
        • ambari-infra-solr-plugin依赖报错解决方案
      • Ambari-metrics
        • psutil 缺失与 archive_util 导入错误
        • Ambari-Metrics Monitor 启动失败
        • Ambari-Metrics Monitor 启动失败
        • Ambari-Metrics Monitor 启动失败
        • Ambari-Metrics Monitor 启动失败
    • Bigtop 报错
      • Hadoop
        • /usr/bin/env: python3: No such file or directory 问题
        • error [email protected]: The engine "node" is incompatible with this module 错误
        • CMake 3.1 or higher is required. You are running version 2.8.12.2 错误
        • fuse is needed by hadoop_3_2_0-3.3.4-1.el7.x86_64 错误
        • Cyrus SASL/GSASL 缺失解决
        • Protobuf PROTOC LIBRARY NOTFOUND
        • EVP CIPHER CTX block size 报错
        • TIRPC_INCLUDE_DIRS NOTFOUND解决
        • 缺失 redhat-rpm-config 报错
      • Spark
        • evaluate,httr2,knitr 包不存在解决办法
        • Pandoc 缺失导致 SparkR 构建失败
      • Trino
        • Trino requires Temurin or Oracle JDK for development
        • GLIBC 与 GLIBCXX 版本过低
      • Hudi
        • javax.annotation.Nullable 缺失
        • 缺失 everit-json-schema 依赖
      • Paimon
        • 缺失 Jindo 依赖
      • Livy
        • apache-incubator-disclaimer-resource-bundle 缺失
      • Flink
        • .git can't be found during `prepare`
        • Angular CLI requires Node >=14.15
        • npm run ci-check 报错退出码 3
        • TypeScript 类型声明错误
      • Atlas
        • Atlas 集成 JanusGraph 启动时报 Solr6Index 实例化失败解决
      • Superset
        • urllib3 v2 only supports OpenSSL 1.1.1+
      • Jsvc
        • jsvc 依赖缺失导致 rpm 构建失败
      • Zookeeper
        • ZooKeeper 构建(缺少 hostname 命令)
        • cppunit-devel 依赖缺失解决方案
      • Hive
        • org.apache.logging.slf4j.Log4j.Marker is not public 解决方案
      • Sqoop
        • xmlto is needed by 解决方法
        • lsb_release、rsync 缺失导致构建中断
        • asciidoc 警告与 relnotes.py 语法不兼容分析
      • Cloudbeaver
        • SelectExpressionItem cannot be resolved 报错分析
      • Bigtop-select
        • bigtop-select 打包缺 compat 报错修复
        • bigtop-select 打包缺 control 文件报错修复
      • Knox
        • xmlsectool 依赖缺失问题解析
        • webhdfs-test 依赖收敛冲突问题处理
        • Invalid keystore format 问题处理
        • Knox is not allowed to impersonate admin
        • X-Forwarded-For 406 错误的原因与处理
      • Hue
        • Hue 访问 Hadoop 权限问题
        • Hue 访问 Yarn 权限问题
        • Hue 访问 Impala 时间格式问题
        • requests-kerberos 兼容性问题
        • libmariadb.so.3 缺失导致 syncdb 失败
        • 生产环境下解决方案——Hue/query_api.py
  • 系统适配

    • Kylin V10系列
      • 通用部分
        • not set for current OS
          • 解读-不支持操作系统解读
          • 解决-增加系统支持范围(一)
          • 解决-增加系统支持范围(二)
          • 解决-增加系统支持范围(三)
          • 解决-增加系统支持范围(四)
        • 解决-TLS1.3导致依赖下载失败终极办法
    • Rocky系列
      • 案例-Ambari重启失败
        • 解读-Ambari3.0.0重启失败问题
        • 解决-追加日志锚点
        • 解决-进一步分析与改造[一]
        • 解决-进一步分析与改造[二]
      • 案例-数据库连接问题
        • 解读-安装完毕后出现Unable to load version data from server
      • 案例-日志级别控制问题
        • 解读-Ambari3.0.0无法调整日志输出级别
        • 解决-临时处理日志级别不生效
        • 解决-源码级处理日志不生效
      • 案例-找不到snappy-devel
        • 解决-HDFS报snappy-devel包缺失现象
      • 案例-编译高级功能
        • 解读-开启Hadoop下ISAL-L和PMDK功能
        • 解决-ISAL-L和PMDK功能完整环境包
    • Ubuntu系列
      • 案例-首次编译环境处理
        • 解决-dpkg-buildpackage依赖缺失
        • 解决-devscripts依赖缺失
        • 首次编译-环境初始化
      • 案例-Bigtop适配Debian
        • 解读-bigtop-select支持deb
        • 解决-Step1-解除限制拥抱deb
        • 解决-Step2-补全代码结构
      • 案例-安装中遇到的问题
        • 解读-APT私有镜像验证失败剖析
        • 解决-快速处理APT私有镜像验证失败问题
      • 案例-编译高级功能
        • 解读-开启Hadoop下ISAL-L和PMDK功能
        • 解决-ISAL-L和PMDK功能完整环境包
    • Centos系列
    • OpenEuler系列
  • 监控与调优

    • Ambari-Metrics插件
    • Infinity插件
      • 准备工作
        • Ambari-Metrics插件失效原因
        • Infinity 插件选择与安装小技巧
        • Grafana9.3.2+Infinity2.3.1
          • Grafana快速安装Infinity插件
        • Grafana11.5.2+Infinity3.4.1
          • Grafana快速安装Infinity插件
      • 创建最简DEMO
        • Grafana9.3.2+Infinity2.3.1
          • 快速创建一个简单demo
          • Panel JSON 配置示例
        • Grafana11.5.2+Infinity3.4.1
          • 快速创建一个简单demo
          • Panel JSON 配置示例
    • 组件配置调优
      • HDFS
        • [0001]访问 HDFS Web UI Logs Unauthorized 失败
        • [0001]>>>>>>Hadoop管理员配置优化
      • RANGER
        • [0002]Ranger 审计日志时间与系统时间不一致调整
        • [0002]>>>>>日期统一规则调优
        • [0001]Resource lookup fail 线程池超时优化
        • [0001]>>>>>>线程池与超时参数调优
    • 组件调优指南
    • 1v1指导调优
  • BUG临时处理

    • 版本-v2.2.2-以前
      • [22213]Ambari 3.0.0 滚动重启只执行一台主机修复
      • [22213]解决办法
      • [22212]Ambari 3.0.0 左侧服务菜单滚动条缺失修复
      • [22212]解决办法
      • [22211]Atlas 缺失 __AtlasUserProfile
      • [22211]解决办法
      • [22210]Atlas Hook 无权限访问 Kafka Topic
      • [22210]解决办法
      • [22209]Ranger Kafka Lookup 缺少 JAAS 配置
      • [22209]解决办法
      • [22208]Atlas Hook 消费 Kafka 报错
      • [22208]解决办法
      • [22207]Hue 内访问 SparkSql 失败
      • [22207]解决办法
      • [22206]Ranger 调用 Knox Topologies 失败
      • [22206]解决办法
      • [22205]Ranger Admin 轮刷ZK 缺失 JAAS
      • [22205]解决办法
      • [22204]KNOX policymgr-ssl 启动告警
      • [22204]解决办法
      • [22203]Hue 服务启动后秒退
      • [22203]解决办法
      • [22202]Hue 启动失败: hadoop 用户不存在
      • [22202]解决办法
      • [22201]Hive 使用 Tez 引擎插入数据失败
      • [22201]解决办法
    • 版本-v2.1.0-以前
      • Sqlline 启动卡死问题处理
  • 实验室

    • VIEW插件
      • CAPACITY-SCHEDULER-VIEW
        • Ambari CAPACITY-SCHEDULER 插件安装详解
      • FILE-VIEW
        • Ambari FILE-VIEW 插件安装详解
    • JIRA速查
    • 虚拟环境思路
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 产品中心

    • 当前版本
    • 版本矩阵与下载
    • 免费开源大数据平台怎么选
  • 安装与使用

    • Ambari Plus 安装
      • 安装前准备
        • 实施总览
        • Step0—源码包下载与目录准备
        • Step1—系统源与基础工具准备
        • Step2—集群免密登录
        • Step3—主机名解析同步
        • Step4—Chrony 时间同步
        • Step5—Nginx 本地 Yum 文件服务
        • Step6—JDK 双环境准备
        • Step7—MySQL 驱动与本地仓库
        • Step8—MariaDB 初始化
        • Step9—AmbariServer 初始化
        • 必须 ambari plus 数据库初始化文件
      • 安装部署
        • 初始化集群
    • 组件安装
      • 组件安装总览
      • Solr 安装
      • Ranger 安装
      • Knox 安装
      • HDFS 安装
      • YARN 安装
      • MapReduce2 安装
      • Tez 安装
      • Hive 安装
      • Sqoop 安装
      • HBase 安装
      • Kafka 安装
      • Flink 安装
      • Spark 安装
      • Hue 安装
      • Livy 安装
      • Zeppelin 安装
      • DolphinScheduler 安装
      • Doris 安装
      • Celeborn 安装
      • Ozone 安装
      • Impala 安装
      • Trino 安装
      • Paimon 安装
      • Hudi 安装
      • Atlas 安装
      • Superset 安装
      • Alluxio 安装
    • 开启高可用
      • 开启高可用总览
      • Ambari Server 开启 HA
      • Ambari Server 成员维护、统一入口与故障接替
      • HDFS 开启 HA
      • YARN 开启 HA
      • Ranger 开启 HA
      • Knox 开启 HA
      • 高可用巡检、重启与故障演练
    • 权限与安全专题
      • 权限与安全总览
      • Kerberos
        • Kerberos 专题
        • 【托管】MIT KDC 单节点接入与验证
        • 【托管】MIT KDC 高可用部署与验证
        • 【外置】MIT KDC 接入与验证
        • 【共用】Principal、Keytab 与账号审计
        • 【共用】LDAP 用户与 Kerberos 身份同步
        • 【共用】外部应用 Kerberos 接入与组件验证
        • 【运维】KDC 备份、密钥轮换与故障恢复
        • Kerberos 停用与回退
        • 附录:托管 MIT KDC 环境准备
        • 附录:原生安装 MIT KDC 实验环境
      • LDAP
        • LDAP 专题
        • 【托管】OpenLDAP 接入与验证
        • 【托管】用户、用户组与授权验证
        • 【托管】OpenLDAP 高可用部署
        • 【外置】LDAP 接入与验证
        • 【外置】用户、用户组与授权验证
        • 【AD】Active Directory 接入与验证
        • 【AD】用户、用户组与授权验证
        • 附录:托管 OpenLDAP 环境准备
        • 附录:【外置】OpenLDAP 原生安装环境
        • 附录:Active Directory 实验环境
    • Ambari Plus Monitor
      • IoTDB 安装与部署
      • 必须 ambari plus monitor 数据库初始化文件
      • Monitor 安装
      • 监控与告警使用
    • 常见问题
      • 安装使用常见问题
  • 发布与支持

    • 更新日志
    • 服务说明
    • 优惠政策
    • 合作共建
    • 蓝图愿景
    • 历史版本
      • 更新日志 · v3.0.2
      • 更新日志 · v3.0.1
      • 更新日志 · v2.2.3
      • 更新日志 · v2.2.2
      • 更新日志 · v2.2.1
      • 更新日志 · v2.2.0
      • 更新日志 · v2.1.0
      • 更新日志 · v2.0.0
      • 更新日志 · v1.0.7
      • 更新日志 · v1.0.6
      • 更新日志 · v1.0.5
      • 更新日志 · v1.0.4
      • 更新日志 · v1.0.3
      • 更新日志 · v1.0.2
      • 更新日志 · v1.0.1
      • 更新日志 · v1.0.0
  • 会员与访问

    • 专属内容解锁
  • Ambari 安装

    • 常规安装
      • 适用于Ambari3.0.0-kylin V10-aarch64
        • Step0—源码包下载
        • Step1—基础环境准备
        • Step2—免密登录配置
        • Step3—安装JDK-Bisheng
        • Step5—Nginx安装
        • Step6—本地yum源配置
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari3.0.0-kylin V10-x86_64
        • Step0—源码包下载
        • Step1—基础环境准备
        • Step2—免密登录配置
        • Step3—安装JDK17与JDK1.8
        • Step5—Nginx安装
        • Step6—本地yum源配置
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari3.0.0-ubuntu22.04
        • Step0—源码包下载
        • Step1—基础环境准备
        • Step3—安装JDK17与JDK1.8
        • Step4—时间同步(Chrony)
        • Step5—Nginx安装
        • Step6—本地apt源
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari3.0.0-el7
        • Step0—源码包下载
        • Step3—安装JDK17(Ambari 3.0专用)
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari3.0.0-el8
        • Step0—源码包下载
        • Step1—基础环境准备
        • Step3—安装JDK17与JDK1.8
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web UI 初始化安装
        • [快速安装]—脚本极速部署
      • 适用于Ambari2.8.0-el7
        • Step1—基础环境准备
        • Step2—免密登陆认证
        • Step3—安装JDK
        • Step4—时间同步(Chrony)
        • Step5—Nginx安装
        • Step6—本地yum源配置
        • Step7—Mariadb初始化
        • Step8—AmbariServer初始化
        • Step9—Ambari Web Ui 初始化安装
    • 一键部署
      • Ambari快速部署—3.0.0
        • 【Kylin V10 aarch64】强力卸载脚本
        • 【Kylin V10 aarch64】自动安装脚本
        • 【Kylin V10 x86_64】强力卸载脚本
        • 【Kylin V10 x86_64】自动安装脚本
        • 【Ubuntu22】强力卸载脚本
        • 【Ubuntu22】自动安装脚本
        • 【Rocky8.10】强力卸载脚本
        • 【Rocky8.10】自动安装脚本
        • 【Centos7.9】自动安装脚本
      • Ambari快速部署—2.8.0
        • 【Centos7.9】自动安装脚本
        • 【Centos7.9】强力卸载脚本
      • 数据库环境
        • PostgreSQL 快速安装脚本
      • JDK环境
        • 安装JDK1.8
        • 安装JDK 17
        • 安装JDK1.8-aarch64
        • 安装JDK 17-aarch64
      • MAVEN环境
        • 安装Maven3.8.4
        • 安装Maven3.9.9
      • GRADLE环境
        • 安装Gradle5.6.4
      • CONDA环境
        • 安装Miniconda2
        • 编译Ambari2.8.0——Miniconda3
      • R环境
        • 【Kylin V10 x86_64】安装R 4.4.2
        • 【Ubuntu22】安装R 4.4.2
        • 【Rocky8.10】安装R 4.4.2
        • 【CentOS7】安装R 4.4.2
  • 组件安装

    • 安装指导
    • 魔改分享
      • Phoenix-JDK17下编译的二进制包适用于Datagrip
        • Q: 高版本 DataGrip 无法使用 Phoenix 驱动
        • A: Phoenix - JDK17 制作&下载
    • 最小化安装(简单)
      • Zookeeper 安装
      • Hadoop 安装
      • Yarn安装
      • Hive 安装
      • Spark 安装
      • HBase 安装
      • Kafka 安装
      • Sqoop 安装
      • Flink 安装
      • DolphinScheduler 安装
      • Zeppelin 安装
      • Redis 安装
      • Doris安装
      • Celeborn安装
      • Ozone安装
      • Impala安装
      • Cloudbeaver 安装
      • Ambari Metrics安装
      • Solr安装
      • Ranger 安装
      • Trino安装
      • Paimon安装
      • Hudi安装
      • Atlas 安装
      • Superset 安装
      • Livy 安装
      • Alluxio 安装
      • Hue 安装
      • Knox 安装
    • 进阶安装技巧(需开启Kerberos)
      • Ambari Metrics 进阶安装技巧
      • Atlas 进阶安装技巧
    • 高可用安装(有难度)
      • Zookeeper
      • Hadoop-Namenode
      • Yarn-ResourceManager
      • Hive
      • Hbase
      • Kafka
      • DolphinScheduler
      • Redis
      • Doris
      • Celeborn
      • Ozone
      • Ranger
  • Kerberos 旧版专题

    • 实战 Kerberos
    • 自建 Kerberos
      • KDC服务初始化安装
        • KDC服务初始化安装(RHEL篇)
        • KDC服务初始化安装(Ubuntu篇)
      • 开启Kerberos认证
        • Ambari 中开启 Kerberos 认证流程详解
        • [不看会报错]-Atlas开启准备工作
        • [不看会报错]-Zeppelin开启准备工作
        • [不看会报错]-Impala开启准备工作
        • [不看会报错]-Trino开启准备工作
      • 关闭Kerberos认证
        • Ambari 中关闭 Kerberos 认证流程详解
    • FreeIPA 认证
      • FreeIPA服务端初始化
        • FreeIPA Server 安装指导
      • FreeIPA客户端初始化及Ambari开启IPA认证
        • [Step1]-FreeIPA Client 安装与入域实战
        • [Step2]-FreeIPA 初始化核心用户
        • [Step3]-Ambari 中开启 Kerberos 认证流程详解
        • [Step3-1]-krb5-conf template调整
      • 部分踩坑-问题发现
        • Ambari Server 启动失败:no valid keystore
        • FreeIPA Client 导致 Ambari 权限异常问题排查
      • 部分踩坑-完美解决
        • Ambari Server 启动失败:no valid keystore
      • 辅助测试
        • FreeIPA Client 调试安装速记
        • Ambari Server 证书调试安装速记
    • 其他优化技巧
      • Atlas-Ranger-StringUtils缺失
      • Atlas-Ranger-commons-compress缺失
    • 部分组件踩坑合集
      • Test Kerberos Client报错:Failed to kinit
      • KERBEROS SERVICE CHECK 报错
      • Ambari开启Kerberos认证加密类型错误
      • [开启Kerberos]-Solr启动失败处理
      • [开启Kerberos]-Kafka启动失败处理
      • [开启Kerberos]-Atlas启动-Hbase权限异常
      • [开启Kerberos]-Atlas启动-Solr权限异常
      • [开启Kerberos]-Atlas启动-Kafka权限异常
      • [开启Kerberos]-Hive服务检查异常处理
      • [开启Kerberos]-Trino启动-配置文件处理
      • [开启Kerberos]-Trino启动-缺失PEM证书处理
      • [开启Kerberos]-Trino启动-连接Hive失败
      • [关闭 Kerberos]-Kafka 注销异常
      • [关闭 Kerberos]-Hive 注销异常
      • Kerberos 客户端模板渲染异常处理(临时处理)
      • Kafka 启动兼容 Kerberos 源码级修改
      • Kerberos 客户端模板渲染异常处理(源码修改)
    • 实战技巧
      • Knox 接入 Trino web-ui 解决方案
      • [开启Kerberos]-Trino启动-配置模板
      • [Knox适配]-Trino-474-转发规则魔改
    • 其他技巧
      • Ambari Security 开启步骤
  • Ranger 旧版专题

    • 实战 Ranger
    • Ranger HA 旧发行版
      • 环境准备
        • [Step1] Haproxy 规划与环境安装
      • Kerberos准备
        • [Step2] 统一访问域名的 Kerberos 票据生成
        • [Step3] 调整 Kerberos Client 配置
      • 安装指导
        • [Step4] Ambari页面开启 Ranger Admin 高可用
        • [Step5] 对齐 Ranger HA 的凭证处理
    • Ranger HA ttr-release
      • [Step2] Ranger Admin HA 自动化安装
    • FreeIPA 与 LDAP
      • [Step1] Ambari 安装 Ranger 并配置 FreeIPA + LDAP
      • [Step2] 制作 Ranger Usersync 证书并应用组件
      • [Step3] 制作 Ranger Admin 证书并应用组件
      • [Step4]Ranger HDFS Repository 创建失败修复
      • [Step5]Ranger HBase Repository 创建失败修复
    • 踩坑汇总
      • 调用 Ranger API 返回 403 问题
      • Ranger Admin LDAP 认证报 Bad credentials 分析
    • 解决方案
      • Ranger Admin LDAP 认证报 Bad credentials 处理
      • Ranger HA 虚拟域名 Principal 缺失修复
      • Ranger Usersync 证书快速导入脚本(LDAPS)
      • Ranger Admin 证书快速导入脚本
      • Ranger HDFS Repository 快速处理
      • Ranger HBase / Yarn Repository 快速处理
  • 开发环境

    • Ambari-Env
      • 环境准备
      • 开始使用
    • 工具与镜像
      • Maven镜像加速
      • Gradle镜像加速
      • Node.js 多版本共存方案
      • Npm镜像加速
      • Bower镜像加速
      • R环境安装+一键安装脚本
      • PostgreSQL 快速安装
  • Ambari 编译

    • Ambari 源码编译
    • 前端开发
    • 后端开发
    • Ambari Web本地启动
  • Bigtop 编译

    • 官方组件编译
    • 扩展组件编译
    • 工具与镜像
      • Ivy配置私有镜像仓库
      • APT仓库增量更新
      • Temurin JDK 23快速安装
  • Ambari 深度专题

    • Ambari Server 原理
    • Ambari Metrics 解读
    • Ambari Plus 思考
  • Bigtop 方法论

    • Bigtop 深度专题
  • 自定义集成

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 各组件代码
    • 通用代码模板
  • 报错解决

    • Ambari 报错
      • Ambari Views
        • MDEP-187 从根因到修复
        • Loading node labels问题解决
      • Ambari
        • phantomjs下载失败问题
        • 编译问题:GCC 安装与配置
        • bower CERT_HAS_EXPIRED 错误问题
        • Ambari-admin包出现bower install错误
        • Cannot run program "rpmbuild"
        • Python: No such file or directory
        • Yarn解压报错EOFException排查与解决
        • Rpm-maven-plugin与shebang兼容性报错
        • Rpm-maven-plugin 最佳实践
        • Bower install拉取失败解决
        • 缺少 python3 报错解决
        • Python(>=2.6) but is not installed
        • SSL_ERROR_SYSCALL 的修复方法
      • Ambari-infra
        • org.apache.commons.io does not exist
        • maven-compiler-plugin:3.3:compile
        • java.security.InvalidAlgorithmParameterException
        • ambari-infra-solr-plugin依赖报错解决方案
      • Ambari-metrics
        • psutil 缺失与 archive_util 导入错误
        • Ambari-Metrics Monitor 启动失败
        • Ambari-Metrics Monitor 启动失败
        • Ambari-Metrics Monitor 启动失败
        • Ambari-Metrics Monitor 启动失败
    • Bigtop 报错
      • Hadoop
        • /usr/bin/env: python3: No such file or directory 问题
        • error [email protected]: The engine "node" is incompatible with this module 错误
        • CMake 3.1 or higher is required. You are running version 2.8.12.2 错误
        • fuse is needed by hadoop_3_2_0-3.3.4-1.el7.x86_64 错误
        • Cyrus SASL/GSASL 缺失解决
        • Protobuf PROTOC LIBRARY NOTFOUND
        • EVP CIPHER CTX block size 报错
        • TIRPC_INCLUDE_DIRS NOTFOUND解决
        • 缺失 redhat-rpm-config 报错
      • Spark
        • evaluate,httr2,knitr 包不存在解决办法
        • Pandoc 缺失导致 SparkR 构建失败
      • Trino
        • Trino requires Temurin or Oracle JDK for development
        • GLIBC 与 GLIBCXX 版本过低
      • Hudi
        • javax.annotation.Nullable 缺失
        • 缺失 everit-json-schema 依赖
      • Paimon
        • 缺失 Jindo 依赖
      • Livy
        • apache-incubator-disclaimer-resource-bundle 缺失
      • Flink
        • .git can't be found during `prepare`
        • Angular CLI requires Node >=14.15
        • npm run ci-check 报错退出码 3
        • TypeScript 类型声明错误
      • Atlas
        • Atlas 集成 JanusGraph 启动时报 Solr6Index 实例化失败解决
      • Superset
        • urllib3 v2 only supports OpenSSL 1.1.1+
      • Jsvc
        • jsvc 依赖缺失导致 rpm 构建失败
      • Zookeeper
        • ZooKeeper 构建(缺少 hostname 命令)
        • cppunit-devel 依赖缺失解决方案
      • Hive
        • org.apache.logging.slf4j.Log4j.Marker is not public 解决方案
      • Sqoop
        • xmlto is needed by 解决方法
        • lsb_release、rsync 缺失导致构建中断
        • asciidoc 警告与 relnotes.py 语法不兼容分析
      • Cloudbeaver
        • SelectExpressionItem cannot be resolved 报错分析
      • Bigtop-select
        • bigtop-select 打包缺 compat 报错修复
        • bigtop-select 打包缺 control 文件报错修复
      • Knox
        • xmlsectool 依赖缺失问题解析
        • webhdfs-test 依赖收敛冲突问题处理
        • Invalid keystore format 问题处理
        • Knox is not allowed to impersonate admin
        • X-Forwarded-For 406 错误的原因与处理
      • Hue
        • Hue 访问 Hadoop 权限问题
        • Hue 访问 Yarn 权限问题
        • Hue 访问 Impala 时间格式问题
        • requests-kerberos 兼容性问题
        • libmariadb.so.3 缺失导致 syncdb 失败
        • 生产环境下解决方案——Hue/query_api.py
  • 系统适配

    • Kylin V10系列
      • 通用部分
        • not set for current OS
          • 解读-不支持操作系统解读
          • 解决-增加系统支持范围(一)
          • 解决-增加系统支持范围(二)
          • 解决-增加系统支持范围(三)
          • 解决-增加系统支持范围(四)
        • 解决-TLS1.3导致依赖下载失败终极办法
    • Rocky系列
      • 案例-Ambari重启失败
        • 解读-Ambari3.0.0重启失败问题
        • 解决-追加日志锚点
        • 解决-进一步分析与改造[一]
        • 解决-进一步分析与改造[二]
      • 案例-数据库连接问题
        • 解读-安装完毕后出现Unable to load version data from server
      • 案例-日志级别控制问题
        • 解读-Ambari3.0.0无法调整日志输出级别
        • 解决-临时处理日志级别不生效
        • 解决-源码级处理日志不生效
      • 案例-找不到snappy-devel
        • 解决-HDFS报snappy-devel包缺失现象
      • 案例-编译高级功能
        • 解读-开启Hadoop下ISAL-L和PMDK功能
        • 解决-ISAL-L和PMDK功能完整环境包
    • Ubuntu系列
      • 案例-首次编译环境处理
        • 解决-dpkg-buildpackage依赖缺失
        • 解决-devscripts依赖缺失
        • 首次编译-环境初始化
      • 案例-Bigtop适配Debian
        • 解读-bigtop-select支持deb
        • 解决-Step1-解除限制拥抱deb
        • 解决-Step2-补全代码结构
      • 案例-安装中遇到的问题
        • 解读-APT私有镜像验证失败剖析
        • 解决-快速处理APT私有镜像验证失败问题
      • 案例-编译高级功能
        • 解读-开启Hadoop下ISAL-L和PMDK功能
        • 解决-ISAL-L和PMDK功能完整环境包
    • Centos系列
    • OpenEuler系列
  • 监控与调优

    • Ambari-Metrics插件
    • Infinity插件
      • 准备工作
        • Ambari-Metrics插件失效原因
        • Infinity 插件选择与安装小技巧
        • Grafana9.3.2+Infinity2.3.1
          • Grafana快速安装Infinity插件
        • Grafana11.5.2+Infinity3.4.1
          • Grafana快速安装Infinity插件
      • 创建最简DEMO
        • Grafana9.3.2+Infinity2.3.1
          • 快速创建一个简单demo
          • Panel JSON 配置示例
        • Grafana11.5.2+Infinity3.4.1
          • 快速创建一个简单demo
          • Panel JSON 配置示例
    • 组件配置调优
      • HDFS
        • [0001]访问 HDFS Web UI Logs Unauthorized 失败
        • [0001]>>>>>>Hadoop管理员配置优化
      • RANGER
        • [0002]Ranger 审计日志时间与系统时间不一致调整
        • [0002]>>>>>日期统一规则调优
        • [0001]Resource lookup fail 线程池超时优化
        • [0001]>>>>>>线程池与超时参数调优
    • 组件调优指南
    • 1v1指导调优
  • BUG临时处理

    • 版本-v2.2.2-以前
      • [22213]Ambari 3.0.0 滚动重启只执行一台主机修复
      • [22213]解决办法
      • [22212]Ambari 3.0.0 左侧服务菜单滚动条缺失修复
      • [22212]解决办法
      • [22211]Atlas 缺失 __AtlasUserProfile
      • [22211]解决办法
      • [22210]Atlas Hook 无权限访问 Kafka Topic
      • [22210]解决办法
      • [22209]Ranger Kafka Lookup 缺少 JAAS 配置
      • [22209]解决办法
      • [22208]Atlas Hook 消费 Kafka 报错
      • [22208]解决办法
      • [22207]Hue 内访问 SparkSql 失败
      • [22207]解决办法
      • [22206]Ranger 调用 Knox Topologies 失败
      • [22206]解决办法
      • [22205]Ranger Admin 轮刷ZK 缺失 JAAS
      • [22205]解决办法
      • [22204]KNOX policymgr-ssl 启动告警
      • [22204]解决办法
      • [22203]Hue 服务启动后秒退
      • [22203]解决办法
      • [22202]Hue 启动失败: hadoop 用户不存在
      • [22202]解决办法
      • [22201]Hive 使用 Tez 引擎插入数据失败
      • [22201]解决办法
    • 版本-v2.1.0-以前
      • Sqlline 启动卡死问题处理
  • 实验室

    • VIEW插件
      • CAPACITY-SCHEDULER-VIEW
        • Ambari CAPACITY-SCHEDULER 插件安装详解
      • FILE-VIEW
        • Ambari FILE-VIEW 插件安装详解
    • JIRA速查
    • 虚拟环境思路
GitHub (opens new window)
  • 产品中心

  • 安装与使用

    • Ambari Plus 安装

    • 组件安装

    • 开启高可用

    • 权限与安全专题

      • 权限与安全总览
      • Kerberos

      • LDAP

        • LDAP 专题
        • 【托管】OpenLDAP 接入与验证
        • 【托管】用户、用户组与授权验证
        • 【托管】OpenLDAP 高可用部署
        • 【外置】LDAP 接入与验证
        • 【外置】用户、用户组与授权验证
        • 【AD】Active Directory 接入与验证
        • 【AD】用户、用户组与授权验证
        • 附录:托管 OpenLDAP 环境准备
        • 附录:【外置】OpenLDAP 原生安装环境
          • 原生安装一套可接入的 OpenLDAP
          • 准备主机和软件包
          • 建立独立目录
          • 签发 LDAPS 证书
          • 写入 slapd 配置
          • 初始化目录数据
          • 使用独立 systemd 服务
          • 从集群节点验证 LDAPS
          • 让 Hadoop 节点识别目录用户
          • 在 Ambari Plus 中填写什么
          • 停用与外部所有权边界
        • 附录:Active Directory 实验环境
    • Ambari Plus Monitor

    • 常见问题

  • 发布与支持

  • 会员与访问

目录

附录:【外置】OpenLDAP 原生安装环境实操

# 原生安装一套可接入的 OpenLDAP

已有企业 LDAP 时直接阅读外置 LDAP 接入与验证。本附录只用于准备一套原生 systemd OpenLDAP 实验环境,保留安装、TLS、LDIF、SSSD 和验收命令。

本文使用下面这组示例:

配置项 示例值
LDAP 主机 dev1.test.com
Base DN dc=extlab,dc=test
用户目录 ou=users,dc=extlab,dc=test
用户组目录 ou=groups,dc=extlab,dc=test
只读 Bind DN uid=extlab-bind,ou=system,dc=extlab,dc=test
平台管理员用户 extlab-enabled
平台管理员组 extlab-ambari-admins
LDAP 端口 11389
LDAPS 端口 11636
独立目录 /data/extlab/ldap

示例使用非标准端口,是为了避免覆盖主机上已有的 389/636 服务。如果独立主机没有端口冲突,可以改回标准端口。

注意

这是一套单节点外部 LDAP,适合功能验证和接入联调。生产环境还要规划多节点复制、统一证书、负载均衡、备份恢复、容量、监控和变更权限。

# 准备主机和软件包

我会先确认所有 Ambari Server、Agent 和 Ranger Usersync 节点都能解析 LDAP 的 FQDN,并且节点之间时钟一致。TLS 证书的 SAN 也必须包含接入时填写的 FQDN。

    sudo dnf install -y openldap openldap-servers openldap-clients openssl
    
    1
    sudo dnf install -y openldap openldap-servers openldap-clients openssl
    
    1
    sudo apt update
    sudo apt install -y slapd ldap-utils openssl
    
    1
    2
    // Make sure to add code blocks to your code group

    安装后检查命令和端口占用:

    command -v slapd slapadd slaptest slappasswd ldapsearch
    sudo ss -lntup | grep -E ':(11389|11636)\b' || true
    
    1
    2

    后续配置以 Kylin、Rocky 和 RHEL 的路径为例。Ubuntu 通常把 schema 放在 /etc/ldap/schema,模块放在 /usr/lib/ldap;写入配置前要用 find 核对真实路径。部分发行版安装包后会自动启动默认 slapd,先确认它是否承载已有目录;只有确定它是刚安装的空实例时,才停用默认服务,不能直接删除或覆盖已有数据库。

    确认 OpenLDAP 软件包和独立目录

    除了确认软件包,还要看独立目录的所有者和权限。数据库、密码文件和私钥目录不应允许普通用户读取。

    # 建立独立目录

    这里不覆盖系统默认的 /etc/openldap 和 /var/lib/ldap,配置、数据库、证书、日志和密码文件都放进独立目录。这样既不会干扰主机上的其他目录实例,也便于单独备份和停启。

    sudo install -d -m 700 \
      /data/extlab/ldap/db \
      /data/extlab/ldap/etc \
      /data/extlab/ldap/log \
      /data/extlab/ldap/run \
      /data/extlab/ldap/certs \
      /data/extlab/ldap/secrets \
      /data/extlab/ldap/seed \
      /data/extlab/ldap/systemd
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    先准备两个不同的随机密码。管理员密码只用于目录维护,平台使用权限更小的只读 Bind 账号。

    sudo -i
    umask 077
    openssl rand -base64 30 > /data/extlab/ldap/secrets/admin.pass
    openssl rand -base64 30 > /data/extlab/ldap/secrets/bind.pass
    openssl rand -base64 30 > /data/extlab/ldap/secrets/sssd.pass
    openssl rand -base64 30 > /data/extlab/ldap/secrets/enabled.pass
    
    slappasswd -T /data/extlab/ldap/secrets/admin.pass \
      > /data/extlab/ldap/secrets/admin.hash
    slappasswd -T /data/extlab/ldap/secrets/bind.pass \
      > /data/extlab/ldap/secrets/bind.hash
    slappasswd -T /data/extlab/ldap/secrets/sssd.pass \
      > /data/extlab/ldap/secrets/sssd.hash
    slappasswd -T /data/extlab/ldap/secrets/enabled.pass \
      > /data/extlab/ldap/secrets/enabled.hash
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    警告

    不要把密码、密码哈希、私钥和数据库文件写进文章、代码仓库或普通工单附件。截图前也要遮住终端历史、文件内容和访问地址中的敏感部分。

    # 签发 LDAPS 证书

    测试环境可以建立一套独立 CA。生产环境建议使用企业 CA,并把证书轮换、吊销和信任分发纳入统一管理。

    创建 CA:

    cd /data/extlab/ldap
    
    openssl genrsa -out secrets/ca.key 4096
    openssl req -x509 -new -sha256 -days 3650 \
      -key secrets/ca.key \
      -out certs/ca.crt \
      -subj '/CN=EXTLAB LDAP Test CA/O=EXTLAB'
    
    1
    2
    3
    4
    5
    6
    7

    为 dev1.test.com 签发服务端证书。接入页面填写哪个 FQDN,SAN 就必须包含哪个名称。

    openssl genrsa -out secrets/dev1.key 3072
    openssl req -new \
      -key secrets/dev1.key \
      -out certs/dev1.csr \
      -subj '/CN=dev1.test.com/O=EXTLAB'
    
    cat > etc/dev1.ext <<'EOF'
    basicConstraints=critical,CA:FALSE
    keyUsage=critical,digitalSignature,keyEncipherment
    extendedKeyUsage=serverAuth
    subjectAltName=DNS:dev1.test.com,DNS:dev1
    EOF
    
    openssl x509 -req -sha256 -days 825 \
      -in certs/dev1.csr \
      -CA certs/ca.crt \
      -CAkey secrets/ca.key \
      -CAcreateserial \
      -out certs/dev1.crt \
      -extfile etc/dev1.ext
    
    chmod 600 secrets/*.key
    chmod 644 certs/ca.crt certs/dev1.crt
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23

    检查名称和有效期:

    openssl verify -CAfile certs/ca.crt certs/dev1.crt
    openssl x509 -in certs/dev1.crt \
      -noout -subject -issuer -dates -ext subjectAltName
    
    1
    2
    3

    # 写入 slapd 配置

    创建 /data/extlab/ldap/etc/slapd.conf。下面保留了用户组反向关系、嵌套组和密码策略需要的模块。

    include /etc/openldap/schema/core.schema
    include /etc/openldap/schema/cosine.schema
    include /etc/openldap/schema/inetorgperson.schema
    include /etc/openldap/schema/nis.schema
    include /etc/openldap/schema/ppolicy.schema
    
    pidfile /data/extlab/ldap/run/slapd.pid
    argsfile /data/extlab/ldap/run/slapd.args
    loglevel stats
    
    TLSCACertificateFile /data/extlab/ldap/certs/ca.crt
    TLSCertificateFile /data/extlab/ldap/certs/dev1.crt
    TLSCertificateKeyFile /data/extlab/ldap/secrets/dev1.key
    TLSVerifyClient never
    
    modulepath /usr/lib64/openldap
    moduleload memberof.la
    moduleload ppolicy.la
    
    backend mdb
    database mdb
    maxsize 1073741824
    suffix "dc=extlab,dc=test"
    rootdn "cn=admin,dc=extlab,dc=test"
    rootpw {SSHA}请替换为admin.hash中的完整内容
    directory /data/extlab/ldap/db
    
    index objectClass eq
    index uid,cn eq,sub
    index member,memberOf eq
    
    access to attrs=userPassword
      by self write
      by anonymous auth
      by * none
    access to *
      by dn.exact="uid=extlab-bind,ou=system,dc=extlab,dc=test" read
      by users read
      by * none
    
    overlay memberof
    memberof-group-oc groupOfNames
    memberof-member-ad member
    memberof-memberof-ad memberOf
    memberof-refint TRUE
    
    overlay ppolicy
    ppolicy_default "cn=default,ou=policies,dc=extlab,dc=test"
    ppolicy_use_lockout
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49

    使用 root-only 变量替换 rootpw 占位内容,不把哈希打印到终端:

    sudo -i
    LDAP_ADMIN_HASH=$(</data/extlab/ldap/secrets/admin.hash)
    sed -i "s|{SSHA}请替换为admin.hash中的完整内容|${LDAP_ADMIN_HASH}|" \
      /data/extlab/ldap/etc/slapd.conf
    unset LDAP_ADMIN_HASH
    chmod 600 /data/extlab/ldap/etc/slapd.conf
    
    1
    2
    3
    4
    5
    6

    如果系统模块目录不是 /usr/lib64/openldap,用下面命令找到 memberof.la 的真实路径再修改 modulepath:

    sudo find /usr/lib /usr/lib64 -name memberof.la -print
    
    1

    核对 OpenLDAP TLS 与关键配置

    这里要同时核对证书 SAN、Base DN、数据库路径和 TLS 文件。只检查证书存在还不够,证书名称必须与平台使用的 FQDN 一致。

    # 初始化目录数据

    创建 /data/extlab/ldap/seed/base.ldif。把 Bind 用户的密码占位符替换为 bind.hash 的完整内容。

    dn: dc=extlab,dc=test
    objectClass: top
    objectClass: dcObject
    objectClass: organization
    dc: extlab
    o: EXTLAB Test Directory
    
    dn: ou=system,dc=extlab,dc=test
    objectClass: top
    objectClass: organizationalUnit
    ou: system
    
    dn: uid=extlab-bind,ou=system,dc=extlab,dc=test
    objectClass: top
    objectClass: account
    objectClass: simpleSecurityObject
    uid: extlab-bind
    description: Read-only platform bind identity
    userPassword: {SSHA}请替换为bind.hash中的完整内容
    
    dn: uid=extlab-sssd,ou=system,dc=extlab,dc=test
    objectClass: top
    objectClass: account
    objectClass: simpleSecurityObject
    uid: extlab-sssd
    description: Read-only cluster node identity lookup
    userPassword: {SSHA}请替换为sssd.hash中的完整内容
    
    dn: ou=policies,dc=extlab,dc=test
    objectClass: top
    objectClass: organizationalUnit
    ou: policies
    
    dn: cn=default,ou=policies,dc=extlab,dc=test
    objectClass: top
    objectClass: device
    objectClass: pwdPolicy
    cn: default
    pwdAttribute: userPassword
    pwdMinAge: 0
    pwdMaxAge: 0
    pwdInHistory: 5
    pwdCheckQuality: 1
    pwdMinLength: 12
    pwdLockout: TRUE
    pwdLockoutDuration: 0
    pwdMaxFailure: 5
    pwdFailureCountInterval: 0
    pwdMustChange: FALSE
    pwdAllowUserChange: TRUE
    pwdSafeModify: FALSE
    
    dn: ou=users,dc=extlab,dc=test
    objectClass: top
    objectClass: organizationalUnit
    ou: users
    
    dn: uid=extlab-enabled,ou=users,dc=extlab,dc=test
    objectClass: top
    objectClass: inetOrgPerson
    objectClass: posixAccount
    uid: extlab-enabled
    cn: EXTLAB Enabled
    sn: Enabled
    uidNumber: 23001
    gidNumber: 23001
    homeDirectory: /home/extlab-enabled
    userPassword: {SSHA}请替换为enabled.hash中的完整内容
    
    dn: ou=groups,dc=extlab,dc=test
    objectClass: top
    objectClass: organizationalUnit
    ou: groups
    
    dn: cn=extlab-readers,ou=groups,dc=extlab,dc=test
    objectClass: top
    objectClass: groupOfNames
    objectClass: extensibleObject
    cn: extlab-readers
    gidNumber: 23001
    member: uid=extlab-enabled,ou=users,dc=extlab,dc=test
    
    dn: cn=extlab-nested-admins,ou=groups,dc=extlab,dc=test
    objectClass: top
    objectClass: groupOfNames
    objectClass: extensibleObject
    cn: extlab-nested-admins
    gidNumber: 23002
    member: cn=extlab-readers,ou=groups,dc=extlab,dc=test
    
    dn: cn=extlab-ambari-admins,ou=groups,dc=extlab,dc=test
    objectClass: top
    objectClass: groupOfNames
    objectClass: extensibleObject
    cn: extlab-ambari-admins
    gidNumber: 23003
    description: Ambari Plus platform administrators
    member: uid=extlab-enabled,ou=users,dc=extlab,dc=test
    member: cn=extlab-nested-admins,ou=groups,dc=extlab,dc=test
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99

    extlab-enabled 和 extlab-ambari-admins 必须先存在于外部 LDAP。Ambari Plus 只验证并记录它们,不会拿目录管理员密码去代替企业创建用户或用户组。

    同样在导入前替换 Bind 用户和测试用户的密码哈希:

    sudo -i
    LDAP_BIND_HASH=$(</data/extlab/ldap/secrets/bind.hash)
    LDAP_SSSD_HASH=$(</data/extlab/ldap/secrets/sssd.hash)
    LDAP_ENABLED_HASH=$(</data/extlab/ldap/secrets/enabled.hash)
    
    sed -i "s|{SSHA}请替换为bind.hash中的完整内容|${LDAP_BIND_HASH}|" \
      /data/extlab/ldap/seed/base.ldif
    sed -i "s|{SSHA}请替换为sssd.hash中的完整内容|${LDAP_SSSD_HASH}|" \
      /data/extlab/ldap/seed/base.ldif
    sed -i "s|{SSHA}请替换为enabled.hash中的完整内容|${LDAP_ENABLED_HASH}|" \
      /data/extlab/ldap/seed/base.ldif
    
    unset LDAP_BIND_HASH LDAP_SSSD_HASH LDAP_ENABLED_HASH
    chmod 600 /data/extlab/ldap/seed/base.ldif
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    检查配置并导入数据库:

    sudo slaptest -u -f /data/extlab/ldap/etc/slapd.conf
    sudo slapadd -f /data/extlab/ldap/etc/slapd.conf \
      -l /data/extlab/ldap/seed/base.ldif
    sudo chown -R root:root /data/extlab/ldap
    sudo chmod 700 /data/extlab/ldap/{db,etc,log,run,secrets,seed,systemd}
    
    1
    2
    3
    4
    5

    # 使用独立 systemd 服务

    创建 /data/extlab/ldap/systemd/extlab-slapd.service。示例中的 192.0.2.10 是文档专用地址,部署时必须替换成 LDAP 主机的真实内网 IP,不要直接监听公网地址。

    [Unit]
    Description=EXTLAB isolated OpenLDAP provider
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    Type=simple
    ExecStartPre=/usr/sbin/slaptest -u -f /data/extlab/ldap/etc/slapd.conf
    ExecStart=/usr/sbin/slapd -d 0 -f /data/extlab/ldap/etc/slapd.conf -h "ldap://192.0.2.10:11389/ ldaps://192.0.2.10:11636/"
    Restart=on-failure
    RestartSec=3
    UMask=0077
    NoNewPrivileges=yes
    PrivateTmp=yes
    ProtectHome=yes
    ProtectSystem=strict
    ReadWritePaths=/data/extlab/ldap
    StandardOutput=append:/data/extlab/ldap/log/slapd-stdout.log
    StandardError=append:/data/extlab/ldap/log/slapd-stderr.log
    
    [Install]
    WantedBy=multi-user.target
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22

    安装并启动:

    sudo install -m 0644 \
      /data/extlab/ldap/systemd/extlab-slapd.service \
      /etc/systemd/system/extlab-slapd.service
    sudo systemctl daemon-reload
    sudo systemctl enable --now extlab-slapd.service
    
    sudo systemctl --no-pager --full status extlab-slapd.service
    sudo ss -lntup | grep -E ':(11389|11636)\b'
    
    1
    2
    3
    4
    5
    6
    7
    8

    OpenLDAP 服务和 LDAPS 监听状态

    截图中的监听地址做了脱敏处理。实际服务绑定到专用内网 IP,防火墙只向 Ambari Server、Agent 和目录消费者开放端口,不直接向公网开放 LDAP。

    # 从集群节点验证 LDAPS

    先把 CA 证书安全分发到一台集群节点,例如 /etc/openldap/certs/extlab-ca.crt,再验证证书、Bind 和查询。

    openssl s_client \
      -connect dev1.test.com:11636 \
      -servername dev1.test.com \
      -CAfile /etc/openldap/certs/extlab-ca.crt \
      -verify_return_error </dev/null
    
    1
    2
    3
    4
    5
    export LDAPTLS_CACERT=/etc/openldap/certs/extlab-ca.crt
    
    ldapwhoami -x \
      -H ldaps://dev1.test.com:11636 \
      -D 'uid=extlab-bind,ou=system,dc=extlab,dc=test' -W
    
    ldapsearch -LLL -x \
      -H ldaps://dev1.test.com:11636 \
      -D 'uid=extlab-bind,ou=system,dc=extlab,dc=test' -W \
      -b 'dc=extlab,dc=test' \
      '(|(uid=extlab-enabled)(cn=extlab-readers)(cn=extlab-nested-admins)(cn=extlab-ambari-admins))' \
      dn uid cn member
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    验证 OpenLDAP Bind 和嵌套组

    预期能查到用户、直属组、嵌套组和平台管理员组。只看到端口监听,还不能证明用户密码、Bind 权限和目录结构正确。

    继续用业务用户做一次真实认证:

    ldapwhoami -x \
      -H ldaps://dev1.test.com:11636 \
      -D 'uid=extlab-enabled,ou=users,dc=extlab,dc=test' -W
    
    1
    2
    3

    最后确认平台 Bind 账号没有写权限。下面操作预期返回 Insufficient access (50),目标条目不会被修改:

    cat <<'EOF' | ldapmodify -x \
      -H ldaps://dev1.test.com:11636 \
      -D 'uid=extlab-bind,ou=system,dc=extlab,dc=test' -W
    dn: uid=extlab-enabled,ou=users,dc=extlab,dc=test
    changetype: modify
    replace: description
    description: should-not-be-written
    EOF
    
    1
    2
    3
    4
    5
    6
    7
    8

    实机验证管理员组、用户登录和只读 ACL

    # 让 Hadoop 节点识别目录用户

    LDAP 查询成功只证明目录可用。Hive doAs、YARN 容器和 Kyuubi 还要求每个集群节点都能通过 NSS 解析同一个用户。我在测试环境使用 SSSD;企业已有 winbind、nslcd 或统一主机入域方案时可以继续沿用,只要最终的 getent 结果一致。

    每个节点安装客户端并放置 CA:

      sudo dnf install -y sssd sssd-ldap sssd-tools openldap-clients
      sudo install -d -m 755 /etc/openldap/certs
      sudo install -m 644 extlab-ca.crt /etc/openldap/certs/extlab-ca.crt
      
      1
      2
      3
      sudo apt update
      sudo apt install -y sssd-ldap sssd-tools ldap-utils
      sudo install -d -m 755 /etc/ldap/certs
      sudo install -m 644 extlab-ca.crt /etc/ldap/certs/extlab-ca.crt
      
      1
      2
      3
      4
      // Make sure to add code blocks to your code group

      创建 root-only 的 /etc/sssd/sssd.conf。这里先只写 Bind DN,不把 extlab-sssd 的密码直接放进模板、Git、命令行参数或截图;密码会在下一步通过标准工具写成 SSSD 可读取的混淆凭据。

      [sssd]
      config_file_version = 2
      services = nss, pam
      domains = EXTLAB
      
      [nss]
      filter_users = root,hdfs,yarn,mapred,hive,spark,kyuubi,hue,knox,ranger
      override_homedir = /home/%u
      default_shell = /bin/bash
      
      [domain/EXTLAB]
      id_provider = ldap
      auth_provider = ldap
      ldap_uri = ldaps://dev1.test.com:11636
      ldap_search_base = dc=extlab,dc=test
      ldap_user_search_base = ou=users,dc=extlab,dc=test
      ldap_group_search_base = ou=groups,dc=extlab,dc=test
      ldap_schema = rfc2307bis
      ldap_user_object_class = posixAccount
      ldap_user_name = uid
      ldap_user_uid_number = uidNumber
      ldap_user_gid_number = gidNumber
      ldap_user_home_directory = homeDirectory
      ldap_group_object_class = groupOfNames
      ldap_group_name = cn
      ldap_group_gid_number = gidNumber
      ldap_group_member = member
      ldap_id_mapping = false
      ldap_tls_reqcert = demand
      ldap_tls_cacert = /etc/openldap/certs/extlab-ca.crt
      ldap_default_bind_dn = uid=extlab-sssd,ou=system,dc=extlab,dc=test
      cache_credentials = false
      enumerate = false
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33

      Ubuntu 节点把 ldap_tls_cacert 改成实际的 /etc/ldap/certs/extlab-ca.crt。然后设置权限,创建配置片段和运行目录,再从 root-only 的密码文件写入凭据。sss_obfuscate 从标准输入读取一整行,因此密码文件末尾要保留换行符。

      sudo chown root:root /etc/sssd/sssd.conf
      sudo chmod 600 /etc/sssd/sssd.conf
      sudo install -d -m 755 /etc/sssd/conf.d
      
      # 某些系统在软件包已经安装、运行目录却被清理后不会自动重建这些目录。
      sudo install -d -m 755 \
        /var/lib/sss /var/lib/sss/db /var/lib/sss/mc \
        /var/lib/sss/pipes /var/lib/sss/pubconf /var/log/sssd
      sudo install -d -m 700 /var/lib/sss/pipes/private
      
      # /root/extlab-sssd.pass 由安全渠道临时分发,文件内容只有一行密码并以换行结尾。
      sudo sh -c 'cat /root/extlab-sssd.pass | sss_obfuscate -s -d EXTLAB'
      sudo rm -f /root/extlab-sssd.pass
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13

      sss_obfuscate 不是高强度密钥保险库,但它避免把可直接复制的明文密码留在配置文件中。生产环境还应限制 root 权限、缩小 Bind 账号 ACL,并结合企业现有的密钥分发方案。

      最后确认 /etc/nsswitch.conf 的 passwd、group 行都包含 sss,再启动服务:

      sudo sssctl config-check
      sudo systemctl enable --now sssd
      sudo sss_cache -E
      
      getent passwd extlab-enabled
      id extlab-enabled
      getent group extlab-ambari-admins
      
      1
      2
      3
      4
      5
      6
      7

      如果 sssd 报 No such file or directory、退出码 7,先检查 /var/lib/sss/db、/var/lib/sss/pipes/private 和 /var/log/sssd 是否存在,再重跑上面的目录创建命令。若 ldapwhoami 使用同一账号可以成功,而 SSSD 日志仍提示 Invalid credentials,不要反复把明文密码贴进配置;应重新确认密码文件末尾的换行符,并再次执行 sss_obfuscate -s -d EXTLAB。

      三台节点都要返回相同的 UID、GID 和用户组。完成后,在 Ambari Plus 安装 Hive、Hue 或 Kyuubi 的配置页点击 检查节点用户映射,输入 extlab-enabled;平台会再次逐节点验证,并且只在全部一致时放开后续安装。

      注意

      不要在 /etc/group 或 /etc/passwd 中创建与 LDAP 对象同名的本地用户或组。本地条目会优先遮蔽 SSSD 返回的目录身份,造成平台能登录、组件却拿到错误 GID 或空组成员。可先执行 getent group extlab-ambari-admins,确认结果来自目录且 GID 为预期值;如果已有历史同名本地条目,应在确认没有本地账号和文件依赖其 UID/GID 后再清理。

      # 在 Ambari Plus 中填写什么

      进入 权限与审计 → LDAP 目录与权限 → 选择目录来源,选择 接入外部 LDAP。

      最新版外置 LDAP 连接页

      页面字段 示例值
      LDAP 地址 ldaps://dev1.test.com:11636,可继续添加备用地址并设置优先级。
      Base DN dc=extlab,dc=test
      Bind DN uid=extlab-bind,ou=system,dc=extlab,dc=test
      Bind 密码 bind.pass 中的密码,只在页面输入。
      StartTLS 关闭;这里已经直接使用 LDAPS。
      受信任 CA 上传或粘贴 ca.crt 的 PEM 内容。
      Java 证书吊销检查 企业 CA 已提供 CRL/OCSP 时开启;实验 CA 可关闭。
      用户搜索 Base ou=users
      用户过滤器 (objectClass=inetOrgPerson)
      用户名属性 uid
      用户组搜索 Base ou=groups
      用户组过滤器 (objectClass=groupOfNames)
      用户组名称属性 cn
      成员属性 member
      嵌套组 按企业目录规则开启。
      默认管理员用户 extlab-enabled
      默认管理员组 extlab-ambari-admins

      先测试连接,再在“管理员准备”步骤验证管理员用户和组,最后预览用户与组。平台只保存只读 Bind 凭据;管理员本人使用自己的 LDAP 密码登录。

      后续新增、停用用户或修改组成员时,仍在这台外部 LDAP 主机上维护。Ambari Plus 不回写外部目录;它按组保存平台权限。新用户加入已授权组后,应在目录查询、节点身份映射和 Ranger Usersync 都更新后自动继承同组权限;移出组或停用后,应使用新会话验证权限已经回收。完整操作见 外置 LDAP 用户、用户组与授权验证。

      # 停用与外部所有权边界

      平台停用“外部 LDAP”时,只应解除 Ambari 登录、Ranger Usersync 和其他消费者的连接,不应停止 extlab-slapd,也不应删除 /data/extlab/ldap。

      如果只是暂停测试目录:

      sudo systemctl stop extlab-slapd.service
      
      1

      恢复时:

      sudo systemctl start extlab-slapd.service
      
      1

      删除数据库、证书或密码文件属于目录管理员的独立操作,不应与 Ambari Plus 的“停用目录接入”混在一起。

      目录准备完成后,继续阅读:

      • 外置 LDAP 接入与验证
      • 外置 LDAP 用户、用户组与授权验证
      #LDAP#OpenLDAP#LDAPS#外部目录
      附录:托管 OpenLDAP 环境准备
      附录:Active Directory 实验环境

      ← 附录:托管 OpenLDAP 环境准备 附录:Active Directory 实验环境→

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