缺失 redhat-rpm-config 报错Kylin10
# 一、报错背景
在 Kylin v10 (x86_64) 下使用 Bigtop 3.2.0 编译 Hadoop 3.3.4 时,执行到 :hadoop-rpm 任务经常出现如下报错:
> Task :hadoop-srpm
Copying common RPM SOURCES from: /opt/modules/bigtop/bigtop-packages/src/common/hadoop (excluding 3.3.4) to /opt/modules/bigtop/build/hadoop/rpm/SOURCES
No version-specific directory found at: /opt/modules/bigtop/bigtop-packages/src/common/hadoop/3.3.4
warning: line 498: second Description
Wrote: /opt/modules/bigtop/build/hadoop/rpm/SRPMS/hadoop_3_2_0-3.3.4-2.2.0.ky10.src.rpm
> Task :hadoop-rpm FAILED
warning: line 498: second Description
error: Failed build dependencies:
redhat-rpm-config is needed by hadoop_3_2_0-3.3.4-2.2.0.ky10.x86_64
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10

# 二、问题原因
redhat-rpm-config 是 RPM 打包的关键宏配置包,提供了大量 %{} 宏定义。
但在 Kylin v10 系统中,该包并不存在,已由 kylin-rpm-config 替代。
当 Hadoop 的 hadoop.spec 在执行宏展开时找不到对应宏,就会触发依赖缺失报错。
报错关键信息
error: Failed build dependencies: redhat-rpm-config is needed- 说明构建脚本中仍然引用 redhat-rpm-config,而 Kylin 已替换为 kylin-rpm-config
# 三、解决办法
# 1. 安装替代包
直接安装 kylin-rpm-config 即可解决依赖缺失:
yum install -y kylin-rpm-config
1
# 2. 修改 hadoop.spec 适配 Kylin
在 hadoop.spec 中为 BuildRequires 部分增加共存逻辑,使其能兼容 Kylin 环境:

这样无论是在 RHEL/CentOS 还是 Kylin v10 下,均能找到对应宏包。
# 3. 验证修复结果
再次执行 gradle hadoop-rpm,即可顺利完成构建:
> Task :hadoop-srpm
Wrote: /opt/modules/bigtop/build/hadoop/rpm/SRPMS/hadoop_3_2_0-3.3.4-2.2.0.ky10.src.rpm
> Task :hadoop-rpm
BUILD SUCCESSFUL
1
2
3
4
5
2
3
4
5
# 四、总结
在 Kylin v10 下编译 Hadoop 时,出现 redhat-rpm-config 缺失错误的根因是:
系统宏包已替换为 kylin-rpm-config,但 spec 文件仍然写死了 RedHat 系的依赖。
解决方法非常直接:
- 安装
kylin-rpm-config; - 调整
hadoop.spec的依赖定义; - 重新执行构建。
这样即可避免报错,保证 RPM 链路稳定完成。
笔记
类似的依赖报错在 Kylin 环境下也可能出现在 fuse、cyrus-sasl-devel 等包上。建议提前整理依赖清单,或者使用 ambari-env (opens new window) 工具自动配置,减少反复踩坑。
- 01
- Ambari开启Kerberos认证加密类型错误 Kylin V1011-05
- 02
- KERBEROS SERVICE CHECK 报错11-04