Spark源码包的编译和部署生成,其本质只有两种:Maven和SBT (Simple Build Tool), 只不过针对不同的场景而已:
Maven编译
SBT编译
IntelliJ IDEA编译(可采用Maven或者SBT插件编译),适用于开发人员
包部署生成(内嵌Maven编译),使用维护人员
编译的目的是生成特定环境下运行Spark本身或者开发Spark Application的JAR包,本次编译的目的生成运行在Hadoop2.5.2上的Spark JAR包,缺省编译所支持的Hadoop环境是Hadoop1.0.4
SBT编译
将源码包复制到指定的目录下,然后进入该目录,运行:
SPARK_HADOOP_VERSION=2.5.2 SPARK_YARN=true sbt/sbt assembly
Maven 编译
事先安装好Maven3.3.2或者Maven3.0.5,并设置环境变量MAVEN_HOME,将MAVEN_HOME/bin加入到PATH变量。然后将源代码复制到指定的目录下,然后进入该目录,先设置Maven参数
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
再运行
mvn -Pyarn -Dhadoop.version=2.5.2 -Dyarn.version=2.5.2 -DskipTests clean package