clone 源码

git clone git://github.com/apache/spark.git

maven编译源码

国外镜像比较慢,此处修改maven仓库的镜像为阿里云镜像:

 <mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>

编译的时候内存设置大一点,以免内存溢出,导致编译失败,此处设置maven内存如下:

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

mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -DskipTests clean package

-Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 参考下面的链接:

https://spark.apache.org/docs/latest/building-spark.html#specifying-the-hadoop-version

-D系统参数,-P profile定义

查看hadoop版本:./hadoop version 或者 ./hdfs version

测试编译

./bin/run-example SparkPi 10

结果如下则编译没问题:

spark在yarn集群上的运行

注:spark在yarn上运行时不需要启动spark集群的,因为,spark任务是在yarn集群上运行的

在yarn上运行spark应用程序有两种方式,第一种是 cluster模式,第二种是client模式,

区别是cluster模式Spark driver运行在yarn集群上,client模式Spark driver运行在客户端进程中。

使用./bin/spark-submit向yarn集群提交spark应用,

$ ./bin/spark-submit --class path.to.your.Class --master yarn --deploy-mode cluster [options] <app jar> [app options]

--class:主类

--master:yarn指定在yarn上运行

--deploy-mode:部署模式cluster 指定为集群模式

app jar:应用程序打的jar包

应用实例:

./bin/spark-submit --class spark.examples.wordcount.WordCount --master yarn --deploy-mode  cluster wordcount.jar README.md 

注:运行前请确保yarn的安装时正确的,结果可以在日志文件里面看到

客户端模式如下:

./bin/spark-shell --master yarn --deploy-mode client
./bin/spark-shell --class spark.examples.wordcount.WordCount --master yarn --deploy-mode client --jars wordcount.jar README.md

  

spark 源码安装的更多相关文章

  1. Apache Spark源码剖析

    Apache Spark源码剖析(全面系统介绍Spark源码,提供分析源码的实用技巧和合理的阅读顺序,充分了解Spark的设计思想和运行机理) 许鹏 著   ISBN 978-7-121-25420- ...

  2. Spark源码在Eclipse中部署/编译/运行

    (1)下载Spark源码 到官方网站下载:Openfire.Spark.Smack,其中Spark只能使用SVN下载,源码的文件夹分别对应Openfire.Spark和Smack. 直接下载Openf ...

  3. 使用 IntelliJ IDEA 导入 Spark源码及编译 Spark 源代码

    1. 准备工作 首先你的系统中需要安装了 JDK 1.6+,并且安装了 Scala.之后下载最新版的 IntelliJ IDEA 后,首先安装(第一次打开会推荐你安装)Scala 插件,相关方法就不多 ...

  4. Apache Spark源码走读之18 -- 使用Intellij idea调试Spark源码

    欢迎转载,转载请注明出处,徽沪一郎. 概要 上篇博文讲述了如何通过修改源码来查看调用堆栈,尽管也很实用,但每修改一次都需要编译,花费的时间不少,效率不高,而且属于侵入性的修改,不优雅.本篇讲述如何使用 ...

  5. emacs+ensime+sbt打造spark源码阅读环境

    欢迎转载,转载请注明出处,徽沪一郎. 概述 Scala越来越流行, Spark也愈来愈红火, 对spark的代码进行走读也成了一个很普遍的行为.不巧的是,当前java社区中很流行的ide如eclips ...

  6. Spark源码分析环境搭建

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3868718.html 本文主要分享一下如何构建Spark源码分析环境.以前主要使用eclipse来阅读源 ...

  7. Spark源码的编译过程详细解读(各版本)

    说在前面的话   重新试多几次.编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,按ctrl+c,重新运行编译命令. 如果出现缺少了某个文件的情况,则要先清理maven(使用命 ...

  8. 《Apache Spark源码剖析》

    Spark Contributor,Databricks工程师连城,华为大数据平台开发部部长陈亮,网易杭州研究院副院长汪源,TalkingData首席数据科学家张夏天联袂力荐1.本书全面.系统地介绍了 ...

  9. 编译Spark源码

    Spark编译有两种处理方式,第一种是通过SBT,第二种是通过Maven.作过Java工作的一般对于Maven工具会比较熟悉,这边也是选用Maven的方式来处理Spark源码编译工作. 在开始编译工作 ...

随机推荐

  1. linux下 html转pdf

    其实很简单的, 在当前文件夹中打开终端, 只需要一个命令就好 wkhtmltopdf test.html test.pdf 这样一个test.html的文件就转为test.pdf 的pdf文件啦!

  2. Codeforces Round #354 (Div. 2)

    贪心 A Nicholas and Permutation #include <bits/stdc++.h> typedef long long ll; const int N = 1e5 ...

  3. InstallShield制作升级安装包

    1. 在General Information里,修改Product Version为新的版本号,此版本号应大于旧的版本号.点击Product Code右面的{...},获取一个新的Product C ...

  4. CodeForces Round#313

    第一题想当然了,结果被坑.. 有1的肯定能构成所有的其他数,没有1的肯定构不成1 ,这题T T #include <iostream> #include <cstring> # ...

  5. 2016 Multi-University Training Contest 1 I. Solid Dominoes Tilings

    Solid Dominoes Tilings Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

  6. python之 sqlalchemy

    one To many #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @author: zengchunyun & ...

  7. About_php_封装函数

    <?php //编写数据库操作的魔术函数 function mysql_bind(){ //首先我们不知道外面会传入多少个参数 //可以用func_get_args()方法来获取全部传入参数,这 ...

  8. Servlet生命周期

    初始化:正常情况下,一个Servlet程序在第一次运行时才进行初始化. 刷新只会刷新服务,并没有初始化 销毁:1,容器关闭    2,一个servlet长期不适用 3,开发过程中的reload操作 对 ...

  9. java并发编程(四)守护进程 线程阻塞的四种情况

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17099981 守护线程   Java中有两类线程:User Thread(用户线程).Da ...

  10. php 跨服务器ftp移动文件

    $ftp_server = "120.25.1.1";$ftp_user_name = "p1111";$ftp_user_pass = "psa12 ...