编译Spark-1.6.3源码--Maven工具

本文详细介绍了在CentOS6.7环境下使用JDK1.8.0_101和Maven3.3.3编译Spark-1.6.3的过程。包括下载所需软件、配置环境变量、更改Maven源为阿里云加速编译、修改pom.xml文件以及提升编译速度的方法。

编译环境

Cent OS 6.7
JDK1.8.0_101
Spark-1.6.3.tgz

写在前面:由于maven源在国外,笔者用国内镜像(阿里云)代替。

查看版本信息

下载Spark-1.6.3.tgz,解压后查看pom.xml,可以看到scala版本为2.10.5,zinc版本为0.3.5.3,Maven版本为3.3.3。

下载安装包

去官网下载scala-2.10.5.tgz、apache-maven-3.3.3.bin.tar.gz和zinc-0.3.5.3,然后传到spark-1.6.3/build目录下

安装Maven

前去官网下载Maven-3.3.3,然后解压到配置环境变量,最后修改配置文件中的镜像为阿里云。具体代码如下:
$sudo tar -zxvf apache-maven-3.3.3-bin.tar.gz -C /usr/local/
$cd /usr/local
$sudo mv ./apache-maven-3.3.3 ./maven3.3.3
$vim ~/.bashrc
开头添加如下内容
export MAVEN_HOME=/usr/local/maven3.3.3
export PATH=$PATH:$MAVEN_HOME/bin
$source ~/.bashrc

配置Maven

修改maven/conf/settings.xml配置文件,将其中mirror改为aliyun-maven。
$cd /usr/local/maven3.3.3/conf/
$vim ./settings.xml
settings.xml 文件里配置mirrors的子节点,添加如下mirror
<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

配置pom.xml

配置spark-1.6.3/pom.xml文件,找到如下内容,替换之(-代表删除,+代表增加)
-      <url>https://repo1.maven.org/maven2</url>
+      <!--<url>https://repo1.maven.org/maven2</url>-->
+      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

build/mvn

编译spark源码,进入spark-1.6.3目录(后文有加快编译速度)
$cd XXXX/spark-1.6.3/
$./build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package
编译成功会出现:

这里写图片描述


出现错误或者不成功请Ctrl+c,重新编译。

提升编译速度

调整虚拟机配置为内存:4G
处理器:42core/个
然后编译命令:./build/mvn -T 8 -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0 -DskipTests clean package
8个线程同时运行。当然你的电脑配置要高。笔者的配置为8G内存。
编译spark-2.1.0等其它内核版本也是如此。

导入IDEA,采用import project,maven方式。
设置本地运行和导入assembly/target/scala-2.11/jars
-Dspark.master=local

若想要将编译后的spark-1.6.3源码放入集群中使用只需要设置spark-env.sh文件即可;
安装后,需要在 ./conf/spark-env.sh 中修改 Spark 的 Classpath,执行如下命令拷贝一个配置文件:

cd /usr/local/spark
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
Shell 命令
编辑 ./conf/spark-env.sh(vim ./conf/spark-env.sh) ,在最后面加上如下一行:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

参考链接:给力星-SPARK

致谢:

Stan Zhai’s Blog:使用阿里云的Maven仓库加速Spark编译过程
官网编译步骤:Building Spark
搭建Spark源码研读和代码调试的开发环境
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值