spark源码一站式编译
前段时间,想熟悉下spark的源码,遇到了一些问题,在此记录,期待可以帮到更多的小伙伴!后续会陆续将阅读的spark源码笔记公布出来。。
1、具体步骤
# 从spark github上clone下相应的源码
git clone https://github.com/apache/spark.git
# 设置maven,防止
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
# 编译
mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.0 -DskipTests clean package
2、报错信息
在编译过程中,也报了一些错误,建议大家最好采用pom文件中的hadoop版本,这些是经过官方测试的。
2.1、
Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:compile (scala-compile-first) on project spark-sql_2.11: Execution scala-compile-first of goal net.alchim31.maven:scala-maven-plugin:3.2.2:compile failed.
注释相关信息即可
<!-- <execution>-->
<!-- <id>scala-test-compile-first</id>-->
<!-- <goals>-->
<!-- <goal>testCompile</goal>-->
<!-- </goals>-->
<!-- </execution>-->
2.2、
Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M2:enforce
修改相应的maven版本号,与自己的匹配。
<maven.version>3.3.9</maven.version>
2.3、
Failed to execute goal org.apache.maven.plugins:maven-remote-resources-plugin
这里可以在pom文件中加如下操作,或者可以访问google可以解决此问题。
<repository>
<id>cloudera</id>
<name>cloudera Repository</name>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
最终,成功编译完成!!!