编译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”


maven编译Spark源码

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

windows下spark2.1源码编译及修改

Windows编译spark源码过程 对spark源码修改后需要重新编译spark源码,由于当前linux虚拟机上无法通过代理联网,公司提供的maven仓库也ping不通,只能在windows上编译...
  • Dreamershi
  • Dreamershi
  • 2017年05月05日 15:42
  • 1962

Spark1.6源码编译

一、前言 不论是spark还是hadoop、flume等,都建议新手在学习时自己进行手动编译,在第一次编译时肯定会遇到很多问题,大家要摆正心态,一定会有所收货。本文将中重点讲解apache版本和...
  • huangyu1985
  • huangyu1985
  • 2017年01月08日 16:34
  • 762

编译spark源码步骤

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

Spark源码编译

Spark源码编译                                                                       梁世威                 ...
  • lsshlsw
  • lsshlsw
  • 2014年09月28日 08:10
  • 1371

spark源码编译后记

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

spark源码编译

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

maven编译spark 源码

基于Maven的构建是Apache Spark的参考构建。使用Maven构建Spark需要Maven 3.3.9或更高版本和Java 7。请注意,对于Java 7的支持已从Spark 2.0.0中弃用...
  • yu757371316
  • yu757371316
  • 2017年05月12日 17:10
  • 858

spark2.1源码编译

本文介绍spark2.1.0的源码编译 1.编译环境: Jdk1.8或以上 Hadoop2.7.3 Scala2.10.4 必要条件: Maven 3.3.9或以上(重要) 点这里下载 http://...
  • babyhuang
  • babyhuang
  • 2017年11月28日 16:14
  • 138

Spark2.0源码阅读环境搭建 开发环境搭建

Spark2.0源码阅读环境和Spark开发环境,我们选择使用IDEA社区版,所以下载IDEA社区版;并且使用Java8环境。1 jdk8安装下载略 解压到当前目录tar -xzvf jdk-8...
  • yizheyouye
  • yizheyouye
  • 2016年08月20日 16:05
  • 5139
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编译spark源码
举报原因:
原因补充:

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