编译spark源码

                                            本例记录spark源码编译的过程及问题



因为编译会有很多很多莫名其妙的错误,为了方便,使用hadoop的cdh版本,注意版本要和我的一致,

环境:
maven3.0.5        
scala2.10.4                                下载地址:http://www.scala-lang.org/download/all.html
spark-1.3.0-src                        下载地址:http://spark.apache.org/downloads.html
hadoop版本:hadoop-2.6.0-cdh5.4.0.tar.gz                    下载地址:http://archive.cloudera.com/cdh5/cdh/5/                    大小:282M

方式:
make-distribution.sh打包的方式(自带maven)

命令:
进入spark目录下
cd $SPARK_HOME

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


------------------------------------------------------------------------------------------------------------------------------------,
编译前的准备
1,编译镜像配置
因为我的    /root/.m2目录下没有settings文件,所以设置了全局的,在conf目录下,可以 cd $MAVEN_HOME/.m2 ,进行设置           
maven的conf目录中settings文件加入:


<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>       

2,域名配置
maven编译容易被墙,所以加入下面两个域名,就不容易出错

vi /etc/resolv.conf                            加入两个域名

                            


3,

因为make-distribution.sh执行时候会自己查找版本之类的动作,为了加快速度,把下面这段代码注释掉,自己手动加入版本信息,

make-distribution.sh中修改如下
-------


解释:

VERSION=1.3.0                        //spark的版本
SPARK_HADOOP_VERSION=2.6.0-cdh5.4.0        //hadoop的版本
SPARK_HIVE=1                                //hive,        1表示需要将hive的打包进去,非1数字表示不打包hive



编译完成之后会生成一个spark-1.3.0-bin-2.6.0-cdh5.4.0.tgz




这是云帆大数据老师给的方法我整理出来,
也可以直接使用官方给出的编译后的jar包,比如给出了build-hadoop2.6,那就下载相对应的hadoop版本使用





























原文地址:https://www.cnblogs.com/xiaoxiao5ya/p/9f8552ed941b2483aa0802e9e982668a.html