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)
  • 方法论

    • 补丁的理解与存在意义
    • 补丁实战-IDE的使用
    • 采用RPM或DEB安装解读
      • 一、什么是 rpm/deb 包管理体系
      • 二、为何大数据平台要采用 rpm/deb 进行集成?
        • 1. 严格的依赖管理和冲突检测
        • 2. 规范的生命周期管理
        • 3. 版本可控、升级降级有保障
        • 4. 跨主机、跨环境一致性保障
      • 三、与传统 tar.gz 解压方式的对比
      • 四、工程落地实践举例
        • Ambari/Bigtop 集成组件典型流程
    • 多版本管理解读-全局概览
    • 多版本管理解读-组件级
    • 多版本管理解读-配置级
    • Gradle命令逆向剖析
  • 组件编译技巧

  • 打包技巧-RPM

  • 实战-日志&源码解读全链路周期

  • 其他技巧

  • GOD-Bigtop
  • 方法论
JaneTTR
2025-06-23
目录

采用RPM或DEB安装解读

大数据平台的集成和运维,为什么不直接用 tar.gz、手工部署,反而业界主流都选择 rpm/deb 这种包管理体系?尤其在 Ambari、Bigtop 这样的集成场景下,rpm/deb 方式几乎成为“最佳实践”。本文从实际工程和系统治理的角度,梳理这种方式的优势,并给出标准化运维的落地建议。

# 一、什么是 rpm/deb 包管理体系

包管理工具 适用系统 常用命令 描述
rpm/yum CentOS/RedHat rpm, yum 以 .rpm 为核心的二进制包管理工具,依赖树分析、生命周期管理
dpkg/apt Debian/Ubuntu dpkg, apt 以 .deb 为核心的包管理工具,强依赖管理、自动升级与卸载

# 二、为何大数据平台要采用 rpm/deb 进行集成?

# 1. 严格的依赖管理和冲突检测

  • 支持 Requires/Provides/Conflicts 依赖声明,防止同一目录被多个组件污染。
  • 可以强制要求先装依赖(如 JDK、Hadoop),后装上层组件。
  • 系统级冲突/重复文件检测,极大降低“环境脏乱”风险。

# 2. 规范的生命周期管理

  • 支持 install、upgrade、uninstall 钩子自动化处理。
  • 支持 post/pre 脚本,例如:注册系统服务、生成配置、授权目录等。
  • 支持无残留卸载,清理干净。

# 3. 版本可控、升级降级有保障

  • 明确的版本号(如 redis_3_2_0-7.4.0-1.el8.x86_64.rpm),升级路径可控。
  • 支持 rollback,升级失败可回退。
  • 支持自动化批量升级(配合 yum/apt 仓库源)。

# 4. 跨主机、跨环境一致性保障

  • 一次构建、多地分发,只需管理本地仓库源。
  • 自动解决依赖,主机批量部署极简。
  • 运维操作全自动化,可配合 Ansible/Salt/Puppet 等工具。

# 三、与传统 tar.gz 解压方式的对比

特性 rpm/deb tar.gz 手工解压
依赖管理 强依赖自动解决 需手动下载/配置
冲突检测 支持自动检测 无法检测
升级/回滚 一键处理 手工备份恢复,风险大
主机一致性 100%一致,运维友好 易出错,环境不可控
钩子/脚本支持 安装/卸载自动处理 需写额外脚本,易遗漏

# 四、工程落地实践举例

# Ambari/Bigtop 集成组件典型流程

# 以 Bigtop 为例,编译产出 rpm 包
gradle redis-rpm -PparentDir=/usr/bigtop -Dbuildwithdeps=true -PpkgSuffix
# 部署:上传到本地 yum 仓库,所有节点自动拉取
yum install redis_3_2_0-7.4.0-1.el8.x86_64.rpm
# 升级、卸载同理
yum update redis
yum remove redis
1
2
3
4
5
6
7
#Ambari#Redis#Stack集成#大数据运维
补丁实战-IDE的使用
多版本管理解读-全局概览

← 补丁实战-IDE的使用 多版本管理解读-全局概览→

最近更新
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
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式