一、编译源码步骤演示详解
. 编译spark环境要求
1、必须在linux系统下编译(以centos6.4为例)
2、编译使用的JDK版本必须是1.6以上(以JDK1.8为例)
3、编译需要使用Maven版本3.0以上(以Maven3.3.9为例)
4、编译需要使用Scala(以scala-2.11.8为例)
. 编译spark所需要的包
1、spark-2.0.1.tgz:下载spark编译的源码包,提供apache下载页面http://archive.apache.org/dist/spark/spark-2.0.1/
2、scala-2.11.8.tgz:提供下载页面 http://www.scala-lang.org/download/2.11.8.html
3、zinc-0.3.9.tar.gz:提供下载页面 http://pan.baidu.com/s/1boJ0nIR
注:2、3两步的包,可不用提前下,如不提供,则在编译时,会通过maven源自动下载下来,为编译时节省时间,可选取先下载后,再放到相应的目录下
=================================== 编译开始 ===================================
第一步:解压spark-2.0.1.tgz源码安装包
第二步:JDK、Maven安装及环境变量的配置,可参照上一篇hadoop编译中提到的来配置,在这不再详述;
第三步:进入/opt/work_dh/software/comm/spark-2.0.1/dev目录下,修改make-distribution.sh文件(注:此文件由于编译的版本一致,可能存在不同的目录下,请自行查找),修改内容如下:
将该文件中四个变量之前的值注释,改为对应版本的值即可;此步非必须,若不给定,它也会从maven源中下载,为节省编译时间,直接给定;
第四步:进入/opt/work_dh/software/comm/spark-2.0.1目录下的pom.xml文件,修改scala版本号,两处地方,如下图:(注:若scala就是spark2.0.1默认支持的版本,则此步跳过)
<scala.version>2.11.8</scala.version>
第五步:修改maven的镜像源,进入到/opt/work_dh/app/apache-maven-3.3.3/conf目录下,修改setting.xml文件,内容如下:
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
第六步:将上述下载的scala-2.11.8.tgz、zinc-0.3.9.tar.gz解压到spark源码包的build目录下,如下图所示:
第七步:使用make-distribution.sh方式进行编译,进入/opt/work_dh/software/comm/spark-2.0.1/dev目录(make-distribution.sh所在目录)下运行如下命令:
Apache编译:
./make-distribution.sh --tgz
-Phadoop-2.6
-Dhadoop.version=2.7.3
-Pyarn
-Phive -Phive-thriftserver
编译成功!看到如下界面后,说明编译成功了,在手动下载源码包情况,编译的时间大概需要半个小时