前置准备&软件安装
-
spark2.3.3源码官方Apache下载地址:
http://spark.apache.org/downloads.html
wget https://archive.apache.org/dist/spark/spark-2.3.3/spark-2.3.3.tgz
Apache Spark 2.3.3
- 编译Spark源码的前置要求(官方Apache编译要求说明):
Maven 3.3.9 or newer
Java 8+
Scala
Git(后文会通过分析make-distribution.sh脚本,来阐述为何需要安装Git)
- 本人使用的软件的版本:
apache-maven-3.3.9-bin.tar.gz
hadoop-2.6.0-cdh5.12.1.tar.gz
jdk-8u121-linux-x64.tar.gz
scala-2.11.8.tgz
zinc-0.3.15.tgz
编译安装
- 解压设置编译目录
tar -zxvf spark-2.3.3.tgz -C ./
mv spark-2.3.3 spark-2.3.3-bin-2.6.0-cdh5.12.1
- 修改pom.xml 配置
- 1.1、添加配置hadoop-2.6
<profile>
<id>hadoop-2.6</id>
<!-- Default hadoop profile. Uses global properties. -->
<properties><!-- add -->
<hadoop.version>2.6.0-cdh5.12.1</hadoop.version> <!-- add -->
<hbase.version>1.2.0-cdh5.12.1</hbase.version> <!-- add -->
<zookeeper.version>3.4.5-cdh5.12.1</zookeeper.version> <!-- add -->
</properties> <!-- add -->
</profile>
- 1.2、添加cdh版hadoop的一个仓库
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
-
修改/dev/make-distribution.sh
make-distribution.sh
由于make-distribution.sh脚本执行时会进行检测系统当前Scala、Hadoop、Hive的版本,会浪费很长时间,可选择将其注释掉用下面内容替代(根据自己的版本进行相应改动),如果你时间充足可以不进行修改
VERSION=2.3.3
SCALA_VERSION=2.11
SPARK_HADOOP_VERSION=2.6.0-cdh5.12.1
SPARK_HIVE=1
官方文档提示的Setting up Maven’s Memory Usage中在Spark源码编译之前所需要设置的,在make-distribution.sh的脚本中,已经给出不用自己手动设置了
BUILD_COMMAND.png
这里可以发现make-distribution.sh脚本文件已经将maven的命令中的clean package -DskipTests封装到Linux变量$MVN中,即使用make-distribution.sh脚本进行Spark源码编译时命令不用带上clean package -DskipTests了,只需要添加Maven的其他相关参数即可(-Pyarn -Phive -Phive-thriftserver -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.12.1)
-
加快编译
为加快编译过程,可以提前下载以下三个文件拷贝到 /build 目录下
apache-maven-3.3.9-bin.tar.gz
scala-2.11.8.tgz
zinc-0.3.15.tgz
- 执行make-distribution.sh编译
./make-distribution.sh --name 2.6.0-cdh5.12.1 --tgz -Pyarn -Pmesos -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.12.1
参考:
https://blog.csdn.net/kaku812814843/article/details/83501266
网友评论