Spark的编译

pdce 9年前


由于Spark的运行环境的多样性,如可以运行在hadoop的yarn上,这样就必须要对Spark的源码进行编译。下面介绍一下Spark源码编译的详细步骤:

1、Spark的编译方式:编译的方式可以参考官网: https://spark.apache.org/docs/latest/building-spark.html

Spark的源码编译有三种方式:

(1)SBT(简单构建工具)方式 ;

(2)maven方式,这种编译方式是根据源码中的pom.xml文件来编译的,编译的方式是每个项目逐个编译,最后并不会生成一个打包好的文件;

(3)打包编译:make-distribution.sh ,这种方式实际上也是采用maven方式编译,但是最后会生成一个打包好的文件。因此,我们采用的是打包方式编译。

1、安装之前必须要准备的软件:

(1)JDK安装

其版本要求是JDK1.7+,由于Spark后期的 版本不支持JDK1.6.因此需要安装JDK1.7+。

(2)maven 安装

其版本要求是3.0.5

(3)SCALA安装

其版本的要求是2.10的版本

2、下载Spark的源码。

进入官网下载: http://spark.apache.org/downloads.html 

3、解压缩源码

tar -zxvf spark-1.3.1.tgz

4、编译:

(1)采用maven的方式编译:

 export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"

mvn -Pyarn -Phadoop-2.4 -Dhadoop.version<span class="o">=2.4.0 -DskipTests <code class="language-bash" data-lang="bash">-Phive -Phive-thriftserver</code> clean package</span>

(2)采用打包的方式来编译:make-distribution.sh

./make-distribution.sh  --tgz-Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -Phive-thriftserver

针对cdh的版本应该是:

./make-distribution.sh  --tgz-Pyarn -Phadoop-2.4 -Dhadoop.version=2.6.0-cdh5.4.0 -Phive -Phive-thriftserver

(3)编译好之后会生成一个包:spark-1.3.0-bin-2.6.0-cdh5.4.0.tgz或者spark-1.3.0-bin-2.6.0.tgz