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

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • Ambari 深度专题

  • Bigtop 方法论

    • Bigtop 深度专题
    • 方法论

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

    • 打包技巧-DEB

    • 打包技巧-RPM

    • 实战-日志与源码解读

    • 其他技巧

  • 自定义集成

  • Ambari Server 与 Web

  • Ambari Metrics

  • Ambari Plus 思考

  • Redis集成实战

  • 通用代码模板

  • 各组件代码

  • 技术专题
  • Bigtop 方法论
  • 方法论
JaneTTR
2025-06-23
目录
一、什么是 rpm/deb 包管理体系
二、为何大数据平台要采用 rpm/deb 进行集成?
1. 严格的依赖管理和冲突检测
2. 规范的生命周期管理
3. 版本可控、升级降级有保障
4. 跨主机、跨环境一致性保障
三、与传统 tar.gz 解压方式的对比
四、工程落地实践举例
Ambari/Bigtop 集成组件典型流程

采用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
#Bigtop#源码解析#Ambari#Redis#Stack集成
补丁实战-IDE的使用
多版本管理解读-全局概览

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

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