Impala_4.4.1 编译
# 1. 构建环境准备与依赖
Impala 4.4.1 编译同样强依赖 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. 源码包准备与离线编译建议
Impala 的源码包建议提前下载,默认存放路径为 /opt/modules/bigtop/dl/impala-4.4.1.tar.gz
,首次构建会自动检测,缺失时自动尝试联网下载。
警告
企业云环境/内网环境建议务必提前下载所有源码和依赖包,否则编译过程中网络波动或墙代理问题易致失败。
# 3. 一键构建命令与参数说明 推荐
进入 Bigtop 根目录后,直接执行如下命令:
gradle impala-rpm -PparentDir=/usr/bigtop -Dbuildwithdeps=true -PpkgSuffix -d
1
如果没有下载过,会自动触发下载
参数 | 作用说明 |
---|---|
-PparentDir | 指定 Bigtop 根路径,推荐必填 |
-Dbuildwithdeps=true | 强制自动拉取全部依赖组件,保证依赖完整 |
-PpkgSuffix | 自定义包名后缀,选填 |
-d | 输出详细调试日志,有助问题定位 |
注意
务必确认当前 JAVA_HOME
、M2_HOME
等变量已正确指向实际路径,避免依赖找不到。
# 4. 编译流程与关键日志解析
执行 gradle 任务后,Bigtop 会自动串联底层脚本与 Maven 任务,核心日志示例:
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd impala-4.4.1
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #0 (patch0-ENV-DOWNLOAD-OPTIMIZED.diff):'
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
Patch #0 (patch0-ENV-DOWNLOAD-OPTIMIZED.diff):
patching file testdata/bin/patch_hive.sh
patching file bin/bootstrap_toolchain.py
patching file bin/bootstrap_system.sh
patching file bin/impala-config.sh
patching file infra/python/deps/pip_download.py
+ echo 'Patch #1 (patch1-RELOCATED-JAR-FIXED.diff):'
+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
Patch #1 (patch1-RELOCATED-JAR-FIXED.diff):
patching file java/TableFlattener/src/main/java/org/apache/impala/infra/tableflattener/SchemaFlattener.java
patching file fe/src/main/java/org/apache/impala/util/IcebergMetadataScanner.java
patching file fe/src/main/java/org/apache/impala/util/IcebergSchemaConverter.java
patching file fe/src/main/java/org/apache/impala/util/MigrateTableUtil.java
patching file fe/pom.xml
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.oY61ul
+ umask 022
+ cd /opt/modules/bigtop/build/impala/rpm//BUILD
+ cd impala-4.4.1
+ env COMPONENT_VERSION=4.4.1 bash /opt/modules/bigtop/build/impala/rpm/SOURCES/do-component-build
++ dirname /opt/modules/bigtop/build/impala/rpm/SOURCES/do-component-build
+ SCRIPT_DIR=/opt/modules/bigtop/build/impala/rpm/SOURCES
+ GH_PROXY=https://ghfast.top/
+ source /opt/modules/bigtop/build/impala/rpm/SOURCES/bigtop.bom
++ ZOOKEEPER_VERSION=3.5.9
++ HADOOP_VERSION=3.3.4
++ HBASE_VERSION=2.4.13
++ HIVE_VERSION=3.1.3
++ TEZ_VERSION=0.10.1
++ OOZIE_VERSION=5.2.1
++ SOLR_VERSION=8.11.2
++ SPARK_VERSION=3.5.5
++ FLINK_VERSION=1.17.2
++ PHOENIX_VERSION=5.1.2
++ BIGTOP_GROOVY_VERSION=2.5.4
++ BIGTOP_UTILS_VERSION=3.2.0-SNAPSHOT
++ BIGTOP_SELECT_VERSION=3.2.0-SNAPSHOT
++ BIGTOP_JSVC_VERSION=1.2.4
++ ALLUXIO_VERSION=2.8.0
++ KAFKA_VERSION=2.8.1
++ YCSB_VERSION=0.17.0
++ ZEPPELIN_VERSION=0.10.1
++ GPDB_VERSION=5.28.5
++ AMBARI_VERSION=2.7.5
++ BIGTOP_AMBARI_MPACK_VERSION=2.7.5
++ LIVY_VERSION=0.7.1
++ RANGER_VERSION=2.4.0
++ SQOOP_VERSION=1.4.7
++ REDIS_VERSION=7.4.0
++ DOLPHINSCHEDULER_VERSION=3.2.2
++ DORIS_VERSION=2.1.7
++ NIGHTINGALE_VERSION=7.7.2
++ CATEGRAF_VERSION=0.4.1
++ VICTORIAMETRICS_VERSION=1.109.1
++ CLOUDBEAVER_VERSION=24.3.3
++ CELEBORN_VERSION=0.5.3
++ OZONE_VERSION=1.4.1
++ IMPALA_VERSION=4.4.1
++ TRINO_VERSION=474
++ HUDI_VERSION=1.0.1
++ PAIMON_VERSION=1.1.0
++ ATLAS_VERSION=2.4.0
++ SUPERSET_VERSION=4.1.2
++ JDK_VERSION=1.8
++ SCALA_VERSION=2.12.13
+ lsof -t -i :5432
+ xargs -r kill -9
+ rm -rf /var/lib/pgsql/data_impala
+ ln -sf /opt/enhance_env/impala_env/toolchain ./toolchain
+ tar -zxvf /opt/enhance_env/impala_env/impala-build-env-infra.tar.gz -C ./infra/python/deps
./
./.gitignore
./future-0.18.3.tar.gz
./allpairspy-2.5.0.tar.gz
./gcovr-4.2.tar.gz
./argparse-1.4.0.tar.gz
./Jinja2-2.11.3.tar.gz
./MarkupSafe-1.1.1.tar.gz
./lxml-4.9.1.tar.gz
./docopt-0.6.2.tar.gz
./execnet-1.4.0.tar.gz
./hdfs-2.0.2.tar.gz
./bitarray-2.3.0.tar.gz
./impyla-0.18.0.tar.gz
./apipkg-1.4.tar.gz
./pure-sasl-0.6.2.tar.gz
./thrift_sasl-0.4.3.tar.gz
./kazoo-2.2.1.tar.gz
./kerberos-1.3.1.tar.gz
./pg8000-1.10.2.tar.gz
./prettytable-0.7.2.tar.bz2
./pyparsing-2.0.3.tar.gz
./psutil-5.6.3.tar.gz
./py-1.4.32.tar.gz
./pexpect-3.3.tar.gz
./pytest-runner-4.2.tar.gz
./pytest-forked-0.2.tar.gz
./pytest-xdist-1.17.1.tar.gz
./python-magic-0.4.11.tar.gz
./pytest-2.9.2.tar.gz
./pywebhdfs-0.3.2.tar.gz
./pytest-timeout-1.2.1.tar.gz
./requests-2.21.0.tar.gz
./chardet-3.0.4.tar.gz
./pbr-3.1.1.tar.gz
./idna-2.8.tar.gz
./certifi-2020.12.5.tar.gz
./sasl-0.2.1.tar.gz
./urllib3-1.24.2.tar.gz
./sh-1.11.tar.gz
./sqlparse-0.3.1.tar.gz
./texttable-0.8.3.zip
./six-1.14.0.tar.gz
./avro-1.10.2.tar.gz
./virtualenv-16.7.10.tar.gz
./thrift-0.16.0.tar.gz
./pytz-2020.1.tar.gz
./Cython-0.29.14.tar.gz
./setuptools_scm-5.0.2.tar.gz
./wheel-0.35.1.tar.gz
./setuptools-44.1.1.zip
./kudu-python-1.17.0.tar.gz
./pycparser-2.17.tar.gz
./cffi-1.10.0.tar.gz
./cryptography-1.8.1.tar.gz
./scandir-1.5.tar.gz
./azure-datalake-store-0.0.9.tar.gz
./cm_api-10.0.0.tar.gz
./mccabe-0.6.1.tar.gz
./readline-6.2.4.1.tar.gz
./flake8-3.9.2.tar.gz
./pyflakes-2.3.1.tar.gz
./configparser-4.0.2.tar.gz
./pycodestyle-2.7.0.tar.gz
./functools32-3.2.3-2.tar.gz
./enum34-1.1.10.tar.gz
./typing-3.10.0.0.tar.gz
./contextlib2-0.6.0.tar.gz
./zipp-1.2.0.tar.gz
./pathlib2-2.3.7.post1.tar.gz
./importlib_metadata-2.1.3.tar.gz
./k5test-0.9.2.tar.gz
./wrapt-1.12.1.tar.gz
./typed_ast-1.4.3.tar.gz
./pylint-2.10.2.tar.gz
./astroid-2.7.3.tar.gz
./lazy-object-proxy-1.6.0.tar.gz
./isort-4.3.21.tar.gz
./singledispatch-3.6.1.tar.gz
./futures-3.3.0.tar.gz
./platformdirs-2.4.1.tar.gz
./toml-0.10.2.tar.gz
./typing_extensions-3.10.0.2.tar.gz
./k5test-0.10.3.tar.gz
++ pwd
+ export IMPALA_HOME=/opt/modules/bigtop/build/impala/rpm/BUILD/impala-4.4.1
+ IMPALA_HOME=/opt/modules/bigtop/build/impala/rpm/BUILD/impala-4.4.1
+ echo yes
+ ./bin/bootstrap_system.sh
+ REDHAT=
+ REDHAT7=
+ REDHAT8=
+ REDHAT9=
+ UBUNTU=
+ UBUNTU16=
+ UBUNTU18=
+ UBUNTU20=
+ UBUNTU22=
+ IN_DOCKER=
+ [[ -f /etc/redhat-release ]]
+ REDHAT=true
+ echo 'Identified redhat system.'
+ grep 'release 9\.' /etc/redhat-release
Identified redhat system.
+ grep 'release 8\.' /etc/redhat-release
Rocky Linux release 8.10 (Green Obsidian)
+ REDHAT8=true
+ echo 'Identified redhat8 system.'
Identified redhat8 system.
+ grep 'release 7\.' /etc/redhat-release
+ grep docker /proc/1/cgroup
++ ubuntu which apt-get
++ [[ '' == true ]]
+ REAL_APT_GET=
+ echo '>>> Installing build tools'
+ [[ '' == true ]]
+ source /opt/modules/bigtop/build/impala/rpm/BUILD/impala-4.4.1/bin/impala-config-java.sh
>>> Installing build tools
++ IMPALA_JDK_VERSION=system
++ [[ system == \s\y\s\t\e\m ]]
++ UBUNTU_JAVA_VERSION=8
++ REDHAT_JAVA_VERSION=1.8.0
+++ uname -p
++ [[ x86_64 == \a\a\r\c\h\6\4 ]]
++ UBUNTU_PACKAGE_ARCH=amd64
+ ubuntu apt-get update
+ [[ '' == true ]]
+ ubuntu apt-get --yes install ccache curl file gawk g++ gcc apt-utils git libffi-dev libkrb5-dev krb5-admin-server krb5-kdc krb5-user libsasl2-dev libsasl2-modules libsasl2-modules-gssapi
-mit libssl-dev make ninja-build python3-dev python3-setuptools python3-venv postgresql ssh wget vim-common psmisc lsof net-tools language-pack-en libxml2-dev libxslt-dev openjdk-8-jdk ope
njdk-8-source openjdk-8-dbg
+ [[ '' == true ]]
+ ubuntu16 apt-get --yes install python python-dev python-setuptools
+ [[ '' == true ]]
+ ubuntu18 apt-get --yes install python python-dev python-setuptools
+ [[ '' == true ]]
+ ubuntu20 apt-get --yes install python python-dev python-setuptools
+ [[ '' == true ]]
+ ubuntu20 apt-get --yes install libtinfo5
+ [[ '' == true ]]
+ ubuntu22 apt-get --yes install libtinfo5
+ [[ '' == true ]]
++ uname -p
+ ARCH_NAME=x86_64
+ [[ x86_64 == \a\a\r\c\h\6\4 ]]
+ ubuntu sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
+ [[ '' == true ]]
+ redhat sudo yum install -y file gawk gcc gcc-c++ git krb5-devel krb5-server krb5-workstation libevent-devel libffi-devel make openssl-devel cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-devel
cyrus-sasl-plain postgresql postgresql-server rpm-build wget vim-common nscd cmake zlib-devel procps psmisc lsof openssh-server python3-devel python3-setuptools net-tools langpacks-en glib
c-langpack-en libxml2-devel libxslt-devel java-1.8.0-openjdk-src java-1.8.0-openjdk-devel
+ [[ true == true ]]
+ sudo yum install -y file gawk gcc gcc-c++ git krb5-devel krb5-server krb5-workstation libevent-devel libffi-devel make openssl-devel cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-devel cyrus-s
asl-plain postgresql postgresql-server rpm-build wget vim-common nscd cmake zlib-devel procps psmisc lsof openssh-server python3-devel python3-setuptools net-tools langpacks-en glibc-langp
ack-en libxml2-devel libxslt-devel java-1.8.0-openjdk-src java-1.8.0-openjdk-devel
Last metadata expiration check: 20:19:42 ago on Sun Jun 8 14:18:51 2025.
Package file-5.33-26.el8.x86_64 is already installed.
Package gawk-4.2.1-4.el8.x86_64 is already installed.
Package gcc-8.5.0-26.el8_10.x86_64 is already installed.
Package gcc-c++-8.5.0-26.el8_10.x86_64 is already installed.
Package git-2.43.5-2.el8_10.x86_64 is already installed.
Package krb5-devel-1.18.2-31.el8_10.x86_64 is already installed.
Package libffi-devel-3.1-24.el8.x86_64 is already installed.
Package make-1:4.2.1-11.el8.x86_64 is already installed.
Package openssl-devel-1:1.1.1k-14.el8_10.x86_64 is already installed.
Package cyrus-sasl-2.1.27-6.el8_5.x86_64 is already installed.
Package cyrus-sasl-devel-2.1.27-6.el8_5.x86_64 is already installed.
Package rpm-build-4.14.3-32.el8_10.x86_64 is already installed.
Package wget-1.19.5-12.el8_10.x86_64 is already installed.
Package vim-common-2:8.0.1763-19.el8_6.4.x86_64 is already installed.
Package cmake-3.26.5-2.el8.x86_64 is already installed.
Package zlib-devel-1.2.11-26.el8.x86_64 is already installed.
Package procps-ng-3.3.15-14.el8.x86_64 is already installed.
Package psmisc-23.1-5.el8.x86_64 is already installed.
Package lsof-4.93.2-1.el8.x86_64 is already installed.
Package openssh-server-8.0p1-25.el8_10.x86_64 is already installed.
Package python3-setuptools-39.2.0-7.el8.noarch is already installed.
Package net-tools-2.0-0.52.20160912git.el8.x86_64 is already installed.
Package langpacks-en-1.0-12.el8.noarch is already installed.
Package glibc-langpack-en-2.28-251.el8_10.16.x86_64 is already installed.
Package libxml2-devel-2.9.7-19.el8_10.x86_64 is already installed.
Dependencies resolved.
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
成功时,产物将归档到 output 目录,详见下节。编译日志片段
# 5. 编译产物与输出目录
最终产物在如下路径:
/opt/modules/bigtop/output/impala/x86_64
1
例如:
drwxr-xr-x 2 root root 4096 Jun 10 16:37 .
drwxr-xr-x 3 root root 4096 Jun 10 16:37 ..
-rw-r--r-- 1 root root 1549875744 Jun 10 16:37 impala_3_2_0-4.4.1-1.el8.x86_64.rpm
(base) [root@rocky8 x86_64]# pwd
/opt/modules/bigtop/output/impala/x86_64
(base) [root@rocky8 x86_64]#
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 6. 常见问题与后续集成
Impala 包二次开发与适配过程常需涉及如下修改(参考实际业务需求可按需调整):
- 01
- bigtop-select 打包缺 compat 报错修复 deb07-16
- 02
- bigtop-select 打包缺 control 文件报错修复 deb07-16
- 03
- 首次编译-环境初始化 必装07-16