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)
  • Sqoop编译

  • Ranger编译

  • Phoenix编译

  • Dolphinscheduler编译

  • Doris编译

    • version-2.1.7

      • Doris_2.1.7 编译
        • 1. 构建环境准备与依赖
        • 2. 源码包准备与离线编译建议
        • 3. 一键构建命令与参数说明
        • 4. 编译流程与关键日志解析
        • 5. 编译产物与输出目录
        • 6. 常见问题与后续集成
      • [O] Doris 版本适配改造(一)
      • [O] Doris 版本适配改造(二)
      • [B] Doris 版本适配改造(一)
      • [B] Doris 版本适配改造(二)
      • [B] Doris 版本适配改造(三)
  • Cloudbeaver编译

  • Atlas编译

  • Superset编译

  • Celeborn编译

  • Ozone编译

  • Impala编译

  • Trino编译

  • Paimon编译

  • Hudi编译

  • 组件编译-Bigtop-增强
  • Doris编译
  • version-2.1.7
JaneTTR
2025-06-06
目录

Doris_2.1.7 编译

# 1. 构建环境准备与依赖

Doris 2.1.7 编译同样强依赖 Bigtop 体系,强烈建议直接在官方 Bigtop 容器或预设环境下完成,极大减少环境不一致导致的构建失败。

环境组件 推荐版本 安装参考
JDK 1.8 ONEKEY——安装JDK1.8
Maven 3.8.4 ONEKEY——安装Maven3.8.4
Gradle 内嵌于 Bigtop ONEKEY——安装Gradle5.6.4

提示

如未配置上述环境,可参考本站 JDK、Maven、Gradle 文档。不仅有详细安装说明,还附带一键安装脚本与离线包下载,覆盖主流运维场景,极大提升稳定性与复现度。

# 2. 源码包准备与离线编译建议

Doris 的源码包建议提前下载,默认存放路径为 /opt/modules/bigtop/dl/doris-2.1.7.tar.gz,首次构建会自动检测,缺失时自动尝试联网下载。

警告

企业云环境/内网环境建议务必提前下载所有源码和依赖包,否则编译过程中网络波动或墙代理问题易致失败。

Doris源码包

# 3. 一键构建命令与参数说明 推荐

进入 Bigtop 根目录后,直接执行如下命令:

gradle doris-rpm -PparentDir=/usr/bigtop -Dbuildwithdeps=true -PpkgSuffix -d
1

如果没有下载过,会自动触发下载

下载动作

参数 作用说明
-PparentDir 指定 Bigtop 根路径,推荐必填
-Dbuildwithdeps=true 强制自动拉取全部依赖组件,保证依赖完整
-PpkgSuffix 自定义包名后缀,选填
-d 输出详细调试日志,有助问题定位

注意

务必确认当前 JAVA_HOME、M2_HOME 等变量已正确指向实际路径,避免依赖找不到。

# 4. 编译流程与关键日志解析

执行 gradle 任务后,Bigtop 会自动串联底层脚本与 Maven 任务,核心日志示例:

成功时,产物将归档到 output 目录,详见下节。编译日志片段

+ grep -q avx2 /proc/cpuinfo
+ WITH_MYSQL=ON
+ sh build.sh --meta-tool --index-tool --fe --be --broker --spark-dpp --hive-udf --be-java-extensions
+++ dirname build.sh
++ cd .
++ pwd
+ ROOT=/opt/modules/bigtop/build/doris/rpm/BUILD/doris-2.1.7-rc03
+ export DORIS_HOME=/opt/modules/bigtop/build/doris/rpm/BUILD/doris-2.1.7-rc03
+ DORIS_HOME=/opt/modules/bigtop/build/doris/rpm/BUILD/doris-2.1.7-rc03
+ . /opt/modules/bigtop/build/doris/rpm/BUILD/doris-2.1.7-rc03/env.sh
++ export LC_ALL=C
++ LC_ALL=C
++ [[ -z /opt/modules/bigtop/build/doris/rpm/BUILD/doris-2.1.7-rc03 ]]
++ [[ -n linux-gnu ]]
++ [[ linux-gnu != \l\i\n\u\x\-\g\n\u ]]
+++ uname -s
++ [[ Linux == \D\a\r\w\i\n ]]
++ [[ -f /opt/modules/bigtop/build/doris/rpm/BUILD/doris-2.1.7-rc03/custom_env.sh ]]
++ [[ -z '' ]]
++ export DORIS_THIRDPARTY=/opt/modules/bigtop/build/doris/rpm/BUILD/doris-2.1.7-rc03/thirdparty
++ DORIS_THIRDPARTY=/opt/modules/bigtop/build/doris/rpm/BUILD/doris-2.1.7-rc03/thirdparty
++ [[ -z '' ]]
++ DORIS_BUILD_PYTHON_VERSION=python
++ export PYTHON=python
++ PYTHON=python
++ python --version
Python 3.9.18
++ [[ -z '' ]]
+++ uname -s
++ [[ Linux == \D\a\r\w\i\n ]]
++ DORIS_TOOLCHAIN=clang
++ [[ clang == \g\c\c ]]
++ [[ clang == \c\l\a\n\g ]]
++ [[ -z '' ]]
++++ command -v clang
+++ dirname /opt/modules/ldb_tool/bin/clang
++ DORIS_CLANG_HOME=/opt/modules/ldb_tool/bin/..
++ export DORIS_CLANG_HOME
++ export CC=/opt/modules/ldb_tool/bin/../bin/clang
++ CC=/opt/modules/ldb_tool/bin/../bin/clang
++ export CXX=/opt/modules/ldb_tool/bin/../bin/clang++
++ CXX=/opt/modules/ldb_tool/bin/../bin/clang++
++ test -x /opt/modules/ldb_tool/bin/../bin/ld.lld
++ export DORIS_BIN_UTILS=/opt/modules/ldb_tool/bin/../bin/
++ DORIS_BIN_UTILS=/opt/modules/ldb_tool/bin/../bin/
++ [[ -f /opt/modules/ldb_tool/bin/../bin/llvm-symbolizer ]]
++ export ASAN_SYMBOLIZER_PATH=/opt/modules/ldb_tool/bin/../bin/llvm-symbolizer
++ ASAN_SYMBOLIZER_PATH=/opt/modules/ldb_tool/bin/../bin/llvm-symbolizer
++ covs=()
+++ find /opt/modules/ldb_tool/bin/.. -name 'llvm-cov*'
++ IFS=
++ read -r line
++ covs+=("${line}")
++ IFS=
++ read -r line
++ [[ 1 -ge 1 ]]
++ LLVM_COV=/opt/modules/ldb_tool/bin/../bin/llvm-cov-16
++ export LLVM_COV
++ profdatas=()
+++ find /opt/modules/ldb_tool/bin/.. -name 'llvm-profdata*'
++ IFS=
++ read -r line
++ profdatas+=("${line}")
++ IFS=
++ read -r line
++ [[ 1 -ge 1 ]]
++ LLVM_PROFDATA=/opt/modules/ldb_tool/bin/../bin/llvm-profdata-16
++ export LLVM_PROFDATA
++ [[ -z '' ]]
++ ENABLE_PCH=ON
++ export CCACHE_COMPILERCHECK=content
++ CCACHE_COMPILERCHECK=content
++ [[ ON == \O\N ]]
++ export CCACHE_PCH_EXTSUM=true
++ CCACHE_PCH_EXTSUM=true
++ export CCACHE_SLOPPINESS=pch_defines,time_macros
++ CCACHE_SLOPPINESS=pch_defines,time_macros
++ [[ -z /opt/modules/ldb_tool/bin/../bin/ ]]
++ [[ -z '' ]]
++++ command -v gcc
+++ dirname /opt/modules/ldb_tool/bin/gcc
++ DORIS_GCC_HOME=/opt/modules/ldb_tool/bin/..
++ export DORIS_GCC_HOME
++ [[ ! -f /opt/modules/ldb_tool/bin/../bin/gcc ]]
+++ /opt/modules/ldb_tool/bin/../bin/gcc -Wp,-v -xc++ - -fsyntax-only
+++ tr '\n' ' '
+++ echo
+++ grep -E '^\s+/'
+++ awk '{print "-I" $1}'
++ CLANG_COMPATIBLE_FLAGS='-I/opt/modules/ldb_tool/include/c++/11 -I/opt/modules/ldb_tool/include/x86_64-linux-gnu/c++/11 -I/opt/modules/ldb_tool/include/c++/11/backward -I/opt/modules/ldb_tool/lib/gcc/x86_64-lin
ux-gnu/11/include -I/opt/modules/ldb_tool/usr/include/x86_64-linux-gnu -I/opt/modules/ldb_tool/usr/include '
++ export CLANG_COMPATIBLE_FLAGS
++ test -z ''
+++ flex --version
+++ awk '{print $2}'
++ flex_ver=2.6.4
++ required_ver=2.6.0
+++ printf '%s\n' 2.6.0 2.6.4
+++ sort -V
+++ head -n1
++ [[ ! 2.6.0 = \2\.\6\.\0 ]]
++ [[ -z /opt/modules/jdk1.8.0_202 ]]
++ JAVA=/opt/modules/jdk1.8.0_202/bin/java
++ JAVAP=/opt/modules/jdk1.8.0_202/bin/javap
++ export JAVA
++ [[ ! -x /opt/modules/jdk1.8.0_202/bin/java ]]
+++ /opt/modules/jdk1.8.0_202/bin/javap -verbose java.lang.String
+++ cut -d ' ' -f5
+++ grep 'major version'
++ JAVA_VER=52
++ [[ 52 -lt 52 ]]
++ MVN_CMD=mvn
++ [[ -n '' ]]
++ mvn --version
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /opt/modules/apache-maven-3.8.4
Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: /opt/modules/jdk1.8.0_202/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "6.6.87.1-microsoft-standard-wsl2", arch: "amd64", family: "unix"
++ export MVN_CMD

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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121

# 5. 编译产物与输出目录

mvn编译命令

Doris产物示例

Doris产物示例2

最终产物在如下路径:

/opt/modules/bigtop/output/doris/x86_64
1

例如:

image-20250520222504397

drwxr-xr-x 2 root root       4096 Jun 11 17:02 .
drwxr-xr-x 3 root root       4096 Jun 11 17:02 ..
-rw-r--r-- 1 root root       6296 Jun 11 17:02 doris_3_2_0-2.1.7-1.el8.x86_64.rpm
-rw-r--r-- 1 root root 1402241352 Jun 11 17:02 doris_3_2_0-doris-be-2.1.7-1.el8.x86_64.rpm
-rw-r--r-- 1 root root  735064512 Jun 11 17:02 doris_3_2_0-doris-fe-2.1.7-1.el8.x86_64.rpm
-rw-r--r-- 1 root root  539845844 Jun 11 17:02 doris_3_2_0-doris-hdfs_broker-2.1.7-1.el8.x86_64.rpm
(base) [root@rocky8 x86_64]# pwd
/opt/modules/bigtop/output/doris/x86_64
(base) [root@rocky8 x86_64]#

1
2
3
4
5
6
7
8
9
10

# 6. 常见问题与后续集成

Doris 包二次开发与适配过程常需涉及如下修改(参考实际业务需求可按需调整):

按顺序修改即可

  • Doris版本适配改造(一)
  • Doris版本适配改造(二)
  • B-Doris版本适配改造(一)
  • B-Doris版本适配改造(二)
  • B-Doris版本适配改造(三)
#Doris#Bigtop#RPM#大数据生态#编译实战
[B] Dolphinscheduler 版本适配改造(三)
[O] Doris 版本适配改造(一)

← [B] Dolphinscheduler 版本适配改造(三) [O] Doris 版本适配改造(一)→

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