前言
我这里是在windows环境下编译的,具体环境为:Windows 10 、JDK8、Git-2.23.0-64-bit.exe windows版。
若在linux环境下编译,过程一样,省略步骤2即可。
1、官网下载源码
http://spark.apache.org/downloads.html
2、安装Git,并准备Git bash环境
Git安装完成后,运行git bash进入bash环境,然后cd切换到spark源码根目录。
特别说明:windows下spark编译要在 bash环境下进行(我这里使用的是git bash),不然编译报错,错误信息如下:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (default) on project spark-core_2.11: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "bash" (in d
irectory "E:\bigdata\spark\source\spark-2.4.3\core"): CreateProcess error=2, 系统找不到指定的文件。
3、运行编译指令
编译时最好指定 -DskipTests跳过测试,否则测试有可能不通过,导致编译失败。如下:
$ mvn clean package -DskipTests
编译时也可以指定hadoop的版本,是否编译yarn等,具体可以参考官方文档(链接见文末),如下:
$ mvn clean package -Phadoop-2.6 -Dhadoop.version=2.6.4 -Phive -Phive-thriftserver -Pyarn -DskipTests
编译过程需要下载很多依赖包,推荐阿里云的镜像,以下为我编译成功的结果
参考:
1. http://spark.apache.org/docs/latest/building-spark.html
2. https://blog.csdn.net/qq_23146763/article/details/69714592