TT Bigdata TT Bigdata
首页
  • 部署专题

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

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

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

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

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

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

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

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

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

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

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

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

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

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

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

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

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

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

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)
  • Bigtop通用部分

    • Step0-源码获取
    • Step1-构建规范的bom
    • Step2-Redis源代码编译
    • Step3-源代码编译脚本构造
    • Step4-buildroot处理
    • Step6-Log-编译细节
    • Step7-Log-安装细节
    • Step8-Log-制品细节
    • Step9-版本适配器
      • 一、bigtop-select 目录结构说明
      • 二、核心配置内容
        • 参数解析与适配思路
      • 三、leaves 配置的背后逻辑
  • Bigtop打包部分

  • Ambari部分

  • J-Redis集成-F
  • Bigtop通用部分
JaneTTR
2025-06-24
目录

Step9-版本适配器

在 Bigtop 的大数据集成体系中,版本适配器(Version Adapter) 是实现多组件、多版本灵活切换的关键一环。对于 Redis 组件,正确配置适配器,不仅可以让 rpm 包与 Ambari 管理的服务实现无缝对接,还能大幅降低多环境下的运维难度。

# 一、bigtop-select 目录结构说明

我们需要定位到如下路径:

bigtop-packages/src/common/bigtop-select/distro-select
1

image-20250625225513608

这里集中管理着所有可被 bigtop-select 管控的服务及其“版本-角色”映射关系。

# 二、核心配置内容

在实际的适配中,需要在对应 Python 文件内补充如下内容:

leaves = {
    'redis-master': 'redis',
    'redis-slave': 'redis',
    'redis-client': 'redis'
}
1
2
3
4
5

# 参数解析与适配思路

  • leaves 的 key 代表 Ambari 或运维系统中每一个“角色组件”的名字,例如 redis-master、redis-slave、redis-client 等。这些名称将被 Ambari 服务管理模块或 rpm 安装后的环境自动识别,用于执行“版本切换”或“软链接指向”操作。

  • leaves 的 value 指向该角色的核心包名(这里为 'redis'),作为实际文件目录或二进制名称的查找依据。这样做的最大好处是,后续版本升级、灰度、兼容不同目录结构时,无需大规模改动底层逻辑,只需维护好映射表即可。

字段 作用说明 示例
redis-master Redis 主节点角色的服务别名 指向 redis
redis-slave Redis 从节点角色的服务别名 指向 redis
redis-client Redis 客户端角色的服务别名 指向 redis

image-20250625225633893

# 三、leaves 配置的背后逻辑

提示

leaves 表的补全和调整,不仅仅是填写一组映射,还直接影响到 rpm 包安装后的“版本切换能力”、Ambari 组件管理能力,以及后续自动化运维脚本的健壮性。

  • 如果 leaves 没有正确配置,Ambari 无法精准找到目标组件的实际目录,导致服务启动、切换、升级等操作失败。
  • 正确填写 key 和 value,需要熟悉 rpm 的最终安装目录结构(比如 /usr/bigtop/3.2.0/usr/lib/redis),并清楚 Ambari 中角色名称与实际服务的映射关系。

适配器配置实战要点

  • 每增加一个新角色,务必在 leaves 表中同步维护;
  • value 通常对应 RPM 安装目录中的主包名,保持一致性有助于后续版本迁移与自动化脚本调用;
  • 本章节主要解读核心逻辑,具体各角色和路径的填写方法将在后续“组件目录结构与 Ambari 服务适配”章节详细展开。
#Redis#bigtop#编译日志#自动化构建#版本注入
Step8-Log-制品细节
Step5-Redhat下构造spec

← Step8-Log-制品细节 Step5-Redhat下构造spec→

最近更新
01
bigtop-select 打包缺 compat 报错修复 deb
07-16
02
bigtop-select 打包缺 control 文件报错修复 deb
07-16
03
首次编译-环境初始化 必装
07-16
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式