Ambari编译——环境准备3.0.0
# 一、环境准备 Kylin V10 x86_64
本章节聚焦于 Kylin V10 环境下 Ambari 3.0.0 编译前的全流程准备,重点覆盖 Kylin V10 独有的依赖安装与环境变量配置。
如遇到依赖冲突或权限问题,可结合 提示 区块快速排查。
# 二、基础依赖批量安装
在正式编译前,先安装必要依赖包。推荐批量安装,避免遗漏导致中途失败。
Kylin 差异
Kylin V10 与 RHEL/CentOS 在包名和依赖分组上存在差异。请务必使用如下命令,而不是直接套用 CentOS 的清单。
sudo yum install curl wget vim tar unzip which sudo less lsof git patch rsync \
net-tools iproute hostname passwd \
openssh-server openssh-clients \
procps-ng iputils \
gcc gcc-c++ make cmake autoconf automake libtool m4 autoconf-archive pkgconf \
rpm-build \
asciidoc docbook2X xmlto \
python3 python3-pip python2-devel \
zlib-devel libzstd-devel \
bzip2-devel snappy-devel libzip-devel \
libtirpc-devel krb5-devel openssl-devel libxml2-devel \
protobuf protobuf-devel protobuf-compiler \
lzo-devel \
fuse fuse-devel fuse-libs \
cppunit-devel \
cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi \
libgsasl-devel \
isa-l libisa-l-devel \
libtirpc libtirpc-devel pkgconf-pkg-config \
libpmem-devel libpmemobj-devel \
kylin-lsb \
sharutils
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
提示
- Ambari 构建链依赖较多,推荐提前执行
yum groupinstall "Development Tools",一次性补齐底层编译工具。 kylin-lsb是 Kylin 特有包,用于 LSB 兼容,确保某些脚本能正常执行。
# Yarn 兜底
mkdir -p /root/.m2/repository/com/github/eirslett/yarn/0.23.2/yarn-0.23.2./
wget -O /root/.m2/repository/com/github/eirslett/yarn/0.23.2/yarn-0.23.2./yarn-v0.23.2.tar.gz \
https://ghfast.top/https://github.com/yarnpkg/yarn/releases/download/v0.23.2/yarn-v0.23.2.tar.gz
1
2
3
2
3
为什么需要手动放 Yarn?
Ambari 前端模块的 Maven 插件会自动拉取 Yarn。如果网络或 TLS 握手失败,构建会中断。提前放置 Yarn 压缩包可绕过下载步骤,避免失败。
# 三、克隆 Ambari 源代码
源码获取有多种方式,推荐优先官方仓库,必要时用国内加速。
# 克隆指定版本分支
git clone -b branch-3.0.0 https://github.com/apache/ambari.git
# 遇到 GitHub 限速,可使用国内加速
git clone -b branch-3.0.0 https://ghfast.top/https://github.com/apache/ambari.git
# 追新党可直接拉取 trunk 主分支
git clone https://github.com/apache/ambari.git
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
网络加速建议
- 保证 Maven 与 Git 使用相同代理,避免构建阶段出现“依赖一半走代理、一半直连”的混乱情况。
- 在 CI/CD 环境下,可通过 企业内镜像(如 Nexus/Gitea) 拉取源码,避免受外部网络影响。
# 四、安装 JDK 17 和 Maven 3.8.4
Ambari 3.0.0 编译依赖 JDK 17 和 Maven 3.8.4。
# 1、推荐方案:一键安装脚本
优势
使用自定义脚本能自动配置环境变量,避免 PATH/CLASSPATH 配置遗漏。
| 环境组件 | 推荐版本 | 安装与配置指引 |
|---|---|---|
| JDK | 17 | 直达 JDK 17 安装教程 |
| Maven | 3.8.4 | 直达 Maven 安装教程 |

# 2、注意事项
settings.xml
为提升稳定性,建议配置 ~/.m2/settings.xml,增加国内镜像或企业 Nexus,加速依赖下载。
特别是 前端依赖(bower、yarn),推荐提前离线下载,避免 TLS1.3 报错。
# 五、前端构建链注意事项
Ambari 的 Admin View 使用 Node/Yarn/Bower。
- Node.js 建议使用 10.x 或 12.x(高版本不兼容)。
- Yarn 默认版本为 0.23.2,已在前文提供兜底方式。
- Bower 安装需通过
npm -g install bower,注意 Node 版本兼容性。
小提示
如需在 CI/CD 构建,可直接把 Yarn/Bower 的 tar.gz 放到内部仓库,用 离线方式保障稳定。
# 六、解决 SSL_ERROR_SYSCALL 问题
在 Kylin V10 下,常见报错:
报错现象
fatal: unable to access 'https://github.com/jquery/jquery-dist.git/':
OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
1
2
2
这是由于 OpenSSL 默认启用 TLS1.3,部分历史仓库不兼容。
解决方案参考: 👉 解决-TLS1.3导致依赖下载失败终极办法
关键结论
git config只能解决 git 协议问题;- 全局禁用 TLS1.3,强制 TLS1.2 才能一次性解决所有 git/curl/wget 下载失败。
- 01
- Ambari开启Kerberos认证加密类型错误 Kylin V1011-05
- 02
- KERBEROS SERVICE CHECK 报错11-04