编译spark源码

原创 2016年08月31日 00:39:26

编译spark源码

参考spark官方文档build spark,我这里编译的是目前最新版本spark2.0.0,使用ubuntu需要环境如下:

  • java
  • git
  • sbt
  • Intellij idea

环境准备

配置java环境这个不用说了,因为spark是用scala写的,而scala需要java的环境,配好java的环境变量。
git的环境变量可配可不配,可以用来下载spark源码包,或者直接去上面我说的build spark的里面的一个download页面下载spark源码包,记得选择source code的下载,选合适的镜像会快点,国内的网比较蛋疼。配置的原因还有在后面用sbt编译的时候会git一些东西,但是不配的话也是可以编译通过的,下载的东西没有影响。

sbt是一个scala的一种编译工具,相当于java和maven的关系。[sbt官网]

下载sbt或者不下载都是可以的,因为在spark2.0.0的源码中的build这个目录中
提供了sbt这个shell脚本,我们直接运行./build/sbt,第一次的时候就会去网上自动下载sbt的对应版本,然后开始编译,所以不配置sbt也是ok的,如果window下那么shell脚本不可以使用,所以还是要自己下载和配置环境变量。

Intellij idae是用来方便看编译以后的源码。用过eclipse但是各种问题,所以后来改用idea了,问题少一点,而且电脑不卡啊,我8g电脑i7的cpu用eclipse导入项目以后卡的一笔。[下载地址]
下载社区版本,免费使用,用来看源码够用了.

编译

建议使用java1.8以后的版本。
进入spark项目的目录

$ ./build/sbt -Pyarn -Phadoop-2.6 clean package

这里指定了hadoop的版本为2.6,根据自己的需要指定。参考官方文档。
等待很多,因为第一次会下载很多依赖,如果不可以请使用科学的上网方式,我等了一个半小时左右。
显示如下就表示编译成功了。
编译结果

项目和子项目下生成target目录。图中[success]那部分。

导入Intellij idea

安装Intellij idea:
[下载]安装包以后,先解压,然后进入解压以后的项目目录看Install-Linux-tar.txt文件,可以知道需要运行./bin/idea.sh

$ tar -xzf ideaIC-2016.2.2.tar.gz #解压tar.gz文件
$ cd idea-IC-162.1628.40/
$ .bin/idea.sh #运行安装脚本

安装过程中要安装scala插件。
安装号以后打开如下:
import spark
从这里开始选择import maven项目。然后默认next就可以,中途最好把import
maven projects automatically 选上,然后就是要指定一下jdk的路径。

导入以后会有红色的线报错,不过无所谓,用这个来看代码和改代码的,
编译还是通过sbt命令行。

遇到的问题

1.编译的过程中有可能会报java heap OutOfMemory错误,这个时候换1.8版本以上的可以解决,window下可能还是不可以,需要设置环境变量

JAVA_OPTS=”-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m”


相关文章推荐

Spark源码学习(一)---------编译源码

学习spark源码的第一步,就是编译源码,这样方便我们以后修改和调试。 选择的spark源码版本为最新的1.3.1   http://spark.apache.org/downloads.html ...

maven编译Spark源码

环境说明: Spark 1.5.2,Maven 3.3.3或以上版本,Java7或以上版本。 一、设置Maven内存使用: 您需要通过MAVEN_OPTS配置Maven的内存使用量,官方推荐...
  • hyx1990
  • hyx1990
  • 2015年11月24日 14:20
  • 3051

maven编译spark 源码

基于Maven的构建是Apache Spark的参考构建。使用Maven构建Spark需要Maven 3.3.9或更高版本和Java 7。请注意,对于Java 7的支持已从Spark 2.0.0中弃用...

spark源码编译后记

最近准备动手实践一下spark的源码编译安装,折腾了好久,最后也被折磨了好久,在此记录一下并安抚一下一连几天来郁闷的心情。先陈述一下背景:之前,我从spark官方的github网页上下载下来了一个最新...
  • lyjshen
  • lyjshen
  • 2016年08月11日 16:14
  • 876

spark源码编译

  • 2016年09月19日 13:55
  • 53.99MB
  • 下载

CDH5.4.7 环境下spark 1.3 源码包编译步骤及错误解决办法

参考链接:http://blog.csdn.net/zhong_han_jun/article/details/50358745 由于CDH5.4.7不支持SPARK-SQL, 因此,需要手动编译sp...

使用maven编译spark源码

自己编译spark是修改spark源码的必备条件,修改的源码自定义打包生效后才能发布到生产环境中。 现在详细介绍使用maven编译Spark-1.6.0的过程 1、下载Spark-1.6.0...
  • wl555wl
  • wl555wl
  • 2016年12月19日 15:59
  • 146

编译spark源码步骤

为了阅读spark的源码,我们需要对它先进行编译,从而使Intelij能够跳转,从而方便阅读。 1,先下载spark压缩包 2,解压 3,通过观察,我们发现可以使用mav...

windows下编译spark的源码

1.maven的安装 到maven官网下载maven,maven依赖于jdk,所以先确保以安装jdk( http://maven.apache.org/download.cgi ) 解压到一个目录...
  • funny75
  • funny75
  • 2015年12月24日 00:12
  • 1368

编译spark1.6.1源码

正常的情况下从spark官方网站下载的发行包已经可以满足正常使用(默认支持了hive),但如果要编译相应cdh版本的hadoop或者把ganglia打包进来等,那就要重新指定编译参数来重新编译源码了。...
  • czmacd
  • czmacd
  • 2016年10月28日 16:41
  • 1315
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编译spark源码
举报原因:
原因补充:

(最多只允许输入30个字)