文档章节

Spark的源码编译

openthings
 openthings
发布于 2015/12/17 10:08
字数 542
阅读 141
收藏 0

Spark的版本下载和源码编译方法的官方地址:http://spark.apache.org/downloads.html

直接进Github,复制源码:https://github.com/apache/spark


Spark 编译

  有三种方式:SBT、MAVEN、make-distribution.sh。 SBT、MAVEN两种方式打出来的包比较大,不适合部署使用。因此我们通常使用第三种方式打包。

官方已经提供安装包了,为什么要自己编译?

  Spark能同Hadoop进行交互,而Hadoop的厂商比较多有很多商业版。Spark官方提供的安装包不一定和我们的Hadoop集群版本相同,如果不相同就有可能出现莫名其妙的错误。这时,我们手工指定相应版本进行编译是最好选择。

SBT编译

sbt/sbt clean assembly

MAVEN编译

  由于MAVEN工具默认的内存比较小,需要先调大其占用的内存上限:

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

  打包

mvn clean assembly:assembly

make-distribution.sh构建安装包

  该脚本会使用MAVEN进行编译,然后打成一个tgz包。

  脚本的使用方法:

./make-distribution.sh --help

  打包:

./make-distribution.sh --tgz --with-tachyon

Hadoop版本对应的MAVEN Profile

Hadoop version Profile required
0.23.x hadoop-0.23
1.x to 2.1.x (none)
2.2.x hadoop-2.2
2.3.x hadoop-2.3
2.4.x hadoop-2.4

Yarn版本对应的MAVEN Profile

YARN version Profile required
0.23.x to 2.1.x yarn-alpha
2.2.x and later yarn

Hive对应的MAVEN Profile

在构造脚本后面添加 -Phive便可

自定义Hadoop版本

  如果要构建hortonworks Hadoop 2.4.0.2.1.4.0-632,所对应的Hadoop版本是2.4.x。因此,相应的Profile为-Phadoop-2.4 -Pyarn。

编译方式:

SBT

sbt clean assembly -Phive -Phadoop-2.4 -Pyarn -Dhadoop.version=2.4.0.2.1.4.0-632

Maven

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

make-distribution.sh

1.1.x 使用

./make-distribution.sh --tgz --with-tachyon -Phadoop-2.4 -Pyarn -Phive -Dhadoop.version=2.4.0.2.1.4.0-632```

  对于1.1.x以前的版本使用:

./make-distribution.sh --hadoop 2.4.0.2.1.4.0-632 --with-yarn --with-tachyon --tgz

如果yarn的版本和Hadoop的版本不一致可添加

-Dyarn.version=2.4.0.2.1.4.0-632

                                       


本文转载自:https://taoistwar.gitbooks.io/spark-operationand-maintenance-management/content/spark_install/spa...

openthings
粉丝 322
博文 1138
码字总数 687611
作品 1
东城
架构师
私信 提问
【Spark】Apache 及 CDH Spark 源码编译

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/gongxifacai_believe/article/details/86574327 1、Apache Spark 源码编译 软件版本: JDK:1.7.0_67 Scala:2.10....

魏晓蕾
01/21
0
0
Hive on Spark 伪分布式环境搭建过程记录

进入hive cli是,会有如下提示: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) ......

PeakFang-BOK
2018/12/13
76
0
Spark源码分析调试环境搭建

目前常用的Spark版本有三种Cloudera、HDP和Apache,源码的获取方式可以在各自官网下载。本文选择Apache版本。 搭建环境所需要的工具如下: CentOS 7 maven 3.5.0 Java 1.8.0 Scala 2.12.2 I...

火力全開
2017/10/26
40
0
Spark On Yarn Cluster 模式下的远程调试Spark源码(Attach模式)

Spark源码学习时,我们通常很想知道Spark-submit提交之后,Spark都做了什么,这就需要我们对Spark源码进行单步调试。另外,我们在spark on yarn模式下,尤其是yarn-cluster模式下,我们无法连...

stefan_xiepj
2018/05/24
0
0
1、Spark预编译版本下载安装与启动

1、下载 2、安装 3、hadoop 4、spark-shell scala> file.first() 5、Resilient Distributed Dataset 6、通过编译方式安装spark 轻量级高速集群计算。针对大规模的数据处理快速通用的引擎。比...

chenkangyao
2017/10/26
30
0

没有更多内容

加载失败,请刷新页面

加载更多

怎样在磁盘上查找MySQL表的大小?这里有答案

导读 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎...

问题终结者
17分钟前
5
0
jQuery load() 方法实现加载远程数据

jQuery load() 方法是简单但强大的 AJAX 方法。load() 方法从服务器加载数据,并把返回的数据放入被选元素中。 语法: $(selector).load(URL,data,callback);必需的 URL 参数规定您希望加载的...

前端老手
18分钟前
3
0
Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存-2

问题 上一篇Spring Boot Cache + redis 设置有效时间和自动刷新缓存,时间支持在配置文件中配置,说了一种时间方式,直接扩展注解的Value值,如: @Override@Cacheable(value = "people#${s...

xiaolyuh
27分钟前
9
0
怎样在磁盘上查找MySQL表的大小?这里有答案

我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应...

Linux就该这么学
51分钟前
5
0
Redis

一、Redis支持的几种数据类型:字符串、List、SET、HASH、ZSET 二、Redis的缓存技术主要是为了降低关系数据库的负载并减少网站成本 三、在Redis里面,被MULTI命令和EXEC命令包围的所有命令会...

BobwithB
53分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部