编译Spark2.4.2源码

Spark源码的编译,可以查阅下述文档来进行编译:
http://spark.apache.org/docs/latest/building-spark.html

可从文档中得知,编译前置环境要求:
1.Maven 3.5.4+
2.Java 8

在这里我们使用Spark 源码包 中 /dev/make-distribution.sh脚本进行源码编译,通过查看该脚本我们可以发现一些参数设置上的原由
在这里插入图片描述
默认情况下
MAKE_TGZ=false 不打包
MAKE_PIP=false 不支持pip
MAKE_R=false 不支持R
NAME=none 不设置名字

可以通过[–name] [–tgz] [–pip] [–r] [–mvn ]来传入这些内容,以Spark官网源码编译文档中的命令为示例

	./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn -Pkubernetes

上述命令,指定了–name custom-spark 即name为custom-spark,并且支持pip和r,最后打成tgz包,–tgz后边的参数均是maven的命令,可在Spark源码包中pom文件进查看相关内容,并以参数的方式进行修改,例如,我们想用hadoop2.6的版本,只需指定-Phadoop2.6,同时我们查看Spark源码包中pom文件,如下,默认是hadoop-2.6,
在这里插入图片描述
也可以增加-Dhadoop.version=2.6.0-cdh5.7.0来指定hadoop的版本,pom中版本如下:
在这里插入图片描述

下图中注释部分,如不注释,在编译过程中比较耗时,所以注释后在下边直接指定
VERSION=2.4.2(Spark版本)
SPARK_HADOOP_VERSION=2.6.0-cdh5.7.0(Hadoop版本)
SPARK_HIVE=1 (支持Hive)
SCALA_VERSION=2.11 (Scala的版本)
在这里插入图片描述

可以看出,最后我们编译成功后的包名,如红色箭头所指,而我们在编译命令中设置了Name,在脚本中添加了Spark的VERSION
在这里插入图片描述

最后使用如下命令进行编译,初次编译消耗时间较长:

./dev./make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Phadoop-2.6 -Phive-thriftserver -Pyarn -Pkubernetes -Dhadoop.version=2.6.0-cdh5.7.0

(由于这里hadoop版本是cdh版本,需要在Spark中的pom添加cdh远程仓库地址)
留意这句话:
在这里插入图片描述
最后经过等待,BUILD SUCCESS,成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值