TT Bigdata TT Bigdata
首页
  • 部署专题

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

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

    • 更新说明
  • Ambari-Env

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

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

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

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

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

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

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

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

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

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

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

    • 更新说明
  • Ambari-Env

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

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

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

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

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

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

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

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • 准备阶段

  • 理解packages.gradle

  • 理解bigtop.bom

  • Hadoop编译

  • Flink编译

    • version-1.15.3

    • version-1.17.2

      • Flink_1.17.2编译
      • [O]Flink版本适配改造(三)
      • [O]Flink版本适配改造(四)
      • [O]Flink版本适配改造(五)
      • [B]Flink版本适配改造(一)
      • [B]Flink版本适配改造(二)
        • 多版本补丁管理策略
        • 补丁结构改造示意
        • 编译适配机制:依赖 Bigtop 的扩展逻辑
      • [B]Flink版本适配改造(三)
  • Spark编译

  • Atlas编译

  • Superset编译

  • Zookeeper编译

  • Hbase编译

  • Hive编译

  • Kafka编译

  • Solr编译

  • Tez编译

  • Zeppelin编译

  • 组件编译-Bigtop
  • Flink编译
  • version-1.17.2
JaneTTR
2025-05-06
目录

[B]Flink版本适配改造(二)1.0.7+

# 多版本补丁管理策略

在完成 Flink 版本号切换后,我们接着要解决另一个问题: 如何让多个版本的补丁能够同时存在补丁共存 ,且不会互相干扰?

# 补丁结构改造示意

如下图所示,我们在 bigtop-packages/src/common/flink/ 路径下,为每个 Flink 版本分别创建了对应的补丁子目录:

bigtop-packages/
└── src/
    └── common/
        └── flink/
            ├── 1.15.3/
            │   └── xxx.patch
            └── 1.17.2/
                └── yyy.patch
1
2
3
4
5
6
7
8

补丁目录结构

这样做的好处在于:

多版本兼容

每个版本的补丁仅对其构建过程生效,避免了“当前补丁影响旧版本”或“老补丁干扰新版”的问题。

# 编译适配机制:依赖 Bigtop 的扩展逻辑

这种按版本组织的补丁策略,需要配合对 Bigtop 构建逻辑进行一定改造,才能在构建时动态注入版本对应的补丁文件。

你可以参考本站文章:

  • Bigtop 多版本编译源码改造(一)
  • Bigtop 多版本编译源码改造(二)
#Flink#Bigtop#版本适配#Maven
[B]Flink版本适配改造(一)
[B]Flink版本适配改造(三)

← [B]Flink版本适配改造(一) [B]Flink版本适配改造(三)→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式