编译Spark3.2.0-3.2.31.0.0+
# 📦 背景介绍
Spark 是一个用于大数据处理的分布式计算框架,广泛应用于数据分析、机器学习等领域。本文将介绍如何使用 Bigtop
编译 Spark 3.2.3
,包括环境配置、依赖安装及编译过程的详细步骤。适用于 Spark 部署
# 1️⃣ 编译前准备
# 1.1 环境要求
确保您的系统满足以下要求,安装这些必要工具和依赖,确保编译顺利进行:
组件 | 版本要求 | 说明 |
---|---|---|
xCode | 最新 | (Mac 用户,免费从 Apple Store 下载) |
JDK 8 | 1.8 | Spark 编译需要 JDK 8 或更高版本 |
Apache Maven | ≥ 3.3.9 | 用于构建工具之一 |
Python 2.7 | 2.7 | Python 2.7,Ambari 2.7 及以上版本要求 |
rpmbuild | - | rpm-build 包 |
g++ | - | gcc-c++ 包 |
Python setuptools | - | Python 工具包 |
📖 参考:Ambari 官方文档 (opens new window)
# 1.2 安装 JDK、Maven、Gradle
# 2️⃣ Spark 编译
# 2.1 构建命令
在成功配置了所有环境后,可以直接使用以下命令进行编译:
gradle spark-rpm -PparentDir=/usr/bigtop -Dbuildwithdeps=true -PpkgSuffix -d
1
spark-rpm
:编译目标模块-PparentDir
:指定构建目录-Dbuildwithdeps=true
:是否同时构建依赖-PpkgSuffix
:可选的后缀,标识构建版本
该命令会启动构建过程,自动下载 Spark 及其依赖并生成 RPM 包。⚙️ Gradle 构建工具
# 2.2 编译产物
构建成功后,您将在以下路径中看到生成的 RPM 包:
以下是部分生成的 RPM 文件:
spark_3_2_0-3.2.3-1.el7.noarch.rpm
spark_3_2_0-worker-3.2.3-1.el7.noarch.rpm
spark_3_2_0-thriftserver-3.2.3-1.el7.noarch.rpm
spark_3_2_0-python-3.2.3-1.el7.noarch.rpm
spark_3_2_0-yarn-shuffle-3.2.3-1.el7.noarch.rpm
这些包将被安装到您指定的 RPM 路径下。
# 2.3 获取源码
您可以从 Gitee 上获取本地已适配的 Spark 源码版本:
仓库地址:https://gitee.com/tt-bigdata/bigtop-spark (opens new window) 版本标签:v3.2.0_3.2.3 (opens new window)
# 3️⃣ 使用 ambari-env
脚本构建
为了简化 Spark 的构建过程,您可以使用以下脚本来配置环境并启动 Bigtop 编译:
bash /scripts/build/bigtop/build.sh
1
此脚本将自动完成环境配置并开始编译工作。