由于Spark的运行环境的多样性,如可以运行在hadoop的yarn上,这样就必须要对Spark的源码进行编译。下面介绍一下Spark源码编译的详细步骤:

1、Spark的编译方式:编译的方式可以参考官网:https://spark.apache.org/docs/latest/building-spark.html

  Spark的源码编译有三种方式:

  (1)SBT(简单构建工具)方式 ;

  (2)maven方式,这种编译方式是根据源码中的pom.xml文件来编译的,编译的方式是每个项目逐个编译,最后并不会生成一个打包好的文件;

  (3)打包编译:make-distribution.sh ,这种方式实际上也是采用maven方式编译,但是最后会生成一个打包好的文件。因此,我们采用的是打包方式编译。

1、安装之前必须要准备的软件:

(1)JDK安装

  其版本要求是JDK1.7+,由于Spark后期的 版本不支持JDK1.6.因此需要安装JDK1.7+。

(2)maven 安装

  其版本要求是3.0.5

(3)SCALA安装

  其版本的要求是2.10的版本

2、下载Spark的源码。

  进入官网下载:http://spark.apache.org/downloads.html

3、解压缩源码

  tar -zxvf spark-1.3.1.tgz

4、编译:

(1)采用maven的方式编译:

  export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"

  mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests -Phive -Phive-thriftserver clean package

(2)采用打包的方式来编译:make-distribution.sh

  ./make-distribution.sh  --tgz  -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -Phive-thriftserver

  针对cdh的版本应该是:

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

(3)编译好之后会生成一个包:spark-1.3.0-bin-2.6.0-cdh5.4.0.tgz或者spark-1.3.0-bin-2.6.0.tgz

Spark的编译的更多相关文章

  1. Spark程序编译报错error: object apache is not a member of package org

    Spark程序编译报错: [INFO] Compiling 2 source files to E:\Develop\IDEAWorkspace\spark\target\classes at 156 ...

  2. 002 Spark的编译

    一:不编译 1.不编译的做法 在公司里可能需要编译,但是如果为了简单的学习就不必编译,直接在官方下载即可. 截图为: 二:编译\ 1.下载 http://archive.cloudera.com/cd ...

  3. Spark Tachyon编译部署(含单机和集群模式安装)

    Tachyon编译部署 编译Tachyon 单机部署Tachyon 集群模式部署Tachyon 1.Tachyon编译部署 Tachyon目前的最新发布版为0.7.1,其官方网址为http://tac ...

  4. Spark wordcount 编译错误 -- reduceByKey is not a member of RDD

    Attempting to run http://spark.apache.org/docs/latest/quick-start.html#a-standalone-app-in-scala fro ...

  5. windows下 eclipse搭建spark java编译环境

    环境: win10 jdk1.8 之前有在虚拟机或者集群上安装spark安装包的,解压到你想要放spark的本地目录下,比如我的目录就是D:\Hadoop\spark-1.6.0-bin-hadoop ...

  6. spark cdh5编译安装[spark-1.0.2 hadoop2.3.0 cdh5.1.0]

    前提你得安装有Hadoop 我的版本hadoop2.3-cdh5.1.0 1.下载maven包 2.配置M2_HOME环境变量,配置maven 的bin目录到path路径 3.export MAVEN ...

  7. spark 预编译安装

    1.下载地址: http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.0.0-preview/spark-3.0.0-preview-bin ...

  8. Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

    [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...

  9. Spark编译与部署

    Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建   [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.S ...

随机推荐

  1. 修改Mac]Bringing interface etch0:Device

    OS版本:Red Hat Enterprise Linux AS4/5 网上有很多关于linux下修改MAC地址的方法,大多依葫芦画瓢,似乎都没验证过,达不到修改的目的. 经过我的详细测试,最终成功解 ...

  2. sass less

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...

  3. 1.2 认识ASP.NET MVC项目结构

    1.开发环境 操作系统:xp.vista.windows 7.windows 8.windows server 2003|2008|2008R2|2012: 集成开发环境IDE: Vsiual Stu ...

  4. Linux内核零碎知识

    UNIX系统:内核.shell外壳.文件系统.工具或应用程序. 操作系统功能:进程与处理机管理.存储管理.设备管理.作业管理.文件管理. 内存是磁盘的缓存,cache是内存的缓存. 可把内核看作是不断 ...

  5. JavaScript基础知识(1)

    表单的确认 : 客户端确认 --减少服务器负载 --缩短用户等待时间 --兼容性难 服务器端确认: ----统一确认 ----兼容性强 ----服务器负载重 JavaScript基本的写法:      ...

  6. Unique Paths II [LeetCode]

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  7. JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)

    转自<JS实现漂亮的窗口拖拽效果(可改变大小.最大化.最小化.关闭)>:http://www.jb51.net/article/73157.htm   这篇文章主要介绍了JS实现漂亮的窗口 ...

  8. Hadoop 添加删除数据节点(datanode)

    前提条件: 添加机器安装jdk等,最好把环境都搞成一样,示例可做相应改动 实现目的: 在hadoop集群中添加一个新增数据节点. 1. 创建目录和用户  mkdir -p /app/hadoop gr ...

  9. Subgraph Search Over Large Graph Database

    Subgraph Search Over Large Graph Database Problem Definition Given a graph database and a query grap ...

  10. Objective-C:Foundation框架-常用类-NSMutableArray

    NSMutableArray是NSArray对的子类,它是可变的,可以随意添加或者删除元素.与Array,也有静态和动态两种创建方法.也可已使用NSArray的方法来创建NSMutableArray. ...