编译和打包Spark源码

最近由于项目需要简单修改了Spark的源码,然后在编译源码的时候遇到了几个问题,现在将编译步骤与问题记录如下

1、引入工程和编译步骤:

  1. git clone相应版本的spark源码
  2. 引入到Idea进行相应的查看和修改:
    1、File>open>找到源码目录的pom.xml>打开
    2、工程打开后,右键顶层的pom文件选择Maven>Reimport
    3、等待Maven执行完成即可以修改源码和阅读源码
  3. 编译:
    mvn clean package -Phadoop-2.7 -DskipTests -Pparquet-provided -Phive -Pyarn -Phive-thriftserver -Phadoop.version=2.7.2 -Phbase.version=1.2.2 -Pzookeeper.version=3.4.9

2、编译问题解决:

2.1bash问题:

1、问题如下
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 directory "E:\IdeaProjects\spark-2.1.0\core"): CreateProcess error=2,

2、问题原因和解决:
问题原因为我在windows环境下,一些相关的Bash命令需要在Unix环境下运行。解决办法安装类Linux的bash软件。或者参考我的直接在git bash 下执行命令。

2.2maven内存不够问题

通过设置更大的内存解决:export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"

2.3测试用例不通过问题

1、问题如下:
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project spark-core_2.11: There are test failures.
2、跳过测试用例的解决办法
此问题暂时未解决,最终通过执行跳过测试用例解决:mvn clean package -DskipTests
或者相应的pom文件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>

3、待解决问题:

跑通测试样例的问题待解决

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

标签:

分享到:

扫一扫在手机阅读

扫一扫 在手机阅读、分享本文

上一篇: 下一篇:

还没有评论,快来抢沙发!

电子邮件地址不会被公开。 必填项已用*标注

loading

johnnwang

人生得意须尽欢,莫使金樽空对月。