一、编译源码步骤演示详解

. 编译spark环境要求

1、必须在linux系统下编译(以centos6.4为例)

2、编译使用的JDK版本必须是1.6以上(以JDK1.8为例)

3、编译需要使用Maven版本3.0以上(以Maven3.3.9为例)

4、编译需要使用Scala(以scala-2.11.8为例)

. 编译spark所需要的包

1、spark-2.0.1.tgz:下载spark编译的源码包,提供apache下载页面http://archive.apache.org/dist/spark/spark-2.0.1/

2、scala-2.11.8.tgz:提供下载页面 http://www.scala-lang.org/download/2.11.8.html

3、zinc-0.3.9.tar.gz:提供下载页面 http://pan.baidu.com/s/1boJ0nIR

注:2、3两步的包,可不用提前下,如不提供,则在编译时,会通过maven源自动下载下来,为编译时节省时间,可选取先下载后,再放到相应的目录下

===================================  编译开始   ===================================

第一步:解压spark-2.0.1.tgz源码安装包

第二步:JDK、Maven安装及环境变量的配置,可参照上一篇hadoop编译中提到的来配置,在这不再详述;

第三步:进入/opt/work_dh/software/comm/spark-2.0.1/dev目录下,修改make-distribution.sh文件(注:此文件由于编译的版本一致,可能存在不同的目录下,请自行查找),修改内容如下:

将该文件中四个变量之前的值注释,改为对应版本的值即可;此步非必须,若不给定,它也会从maven源中下载,为节省编译时间,直接给定;

第四步:进入/opt/work_dh/software/comm/spark-2.0.1目录下的pom.xml文件,修改scala版本号,两处地方,如下图:(注:若scala就是spark2.0.1默认支持的版本,则此步跳过)

<scala.version>2.11.8</scala.version>

第五步:修改maven的镜像源,进入到/opt/work_dh/app/apache-maven-3.3.3/conf目录下,修改setting.xml文件,内容如下:

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

第六步:将上述下载的scala-2.11.8.tgz、zinc-0.3.9.tar.gz解压到spark源码包的build目录下,如下图所示:

第七步:使用make-distribution.sh方式进行编译,进入/opt/work_dh/software/comm/spark-2.0.1/dev目录(make-distribution.sh所在目录)下运行如下命令:

Apache编译:
./make-distribution.sh --tgz \
-Phadoop-2.6 \
-Dhadoop.version=2.7.3 \
-Pyarn \
-Phive -Phive-thriftserver

编译成功!看到如下界面后,说明编译成功了,在手动下载源码包情况,编译的时间大概需要半个小时

===================================  编译结束   ===================================

spark2.0.1源码编译的更多相关文章

  1. Spark-2.0.2源码编译

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6813925210731840013/ Spark官网下载地址: http://spark.apache.org/d ...

  2. spark2.1.0的源码编译

    本文介绍spark2.1.0的源码编译 1.编译环境: Jdk1.8或以上 Hadoop2.7.3 Scala2.10.4 必要条件: Maven 3.3.9或以上(重要) 点这里下载 http:// ...

  3. 英蓓特Mars board的android4.0.3源码编译过程

    英蓓特Mars board的android4.0.3源码编译过程 作者:StephenZhu(大桥++) 2013年8月22日 若要转载,请注明出处 一.编译环境搭建及要点: 1. 虚拟机软件virt ...

  4. 非寻常方式学习ApacheTomcat架构及10.0.12源码编译

    概述 开启博客分享已近三个月,感谢所有花时间精力和小编一路学习和成长的伙伴们,有你们的支持,我们继续再接再厉 **本人博客网站 **IT小神 www.itxiaoshen.com 定义 Tomcat官 ...

  5. 解决Tomcat10.0.12源码编译问题进而剖析其优秀分层设计架构

    概述 Tomcat.Jetty.Undertow这几个都是非常有名实现Servlet规范的应用服务器,Tomcat本身也是业界上非常优秀的中间件,简单可将Tomcat看成是一个Http服务器+Serv ...

  6. android 5.0 (lollipop)源码编译环境搭建(Mac OS X)

    硬件环境:MacBook Pro Retina, 13-inch, Late 2013 处理器  2.4 GHz Intel Core i5 内存  8 GB 1600 MHz DDR3 硬盘60G以 ...

  7. hadoop2.0 eclipse 源码编译

    在eclipse下编译hadoop2.0源码 http://www.cnblogs.com/meibenjin/archive/2013/07/05/3172889.html hadoop cdh4编 ...

  8. anroid 6.0.1_r77源码编译

    一.源码下载(基本类似4.4.4_r1) 二.必须使用openjdk1.7 sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update ...

  9. kafka 0.11.0.3 源码编译

    首先下载 kafka 0.11.0.3 版本 源码: http://mirrors.hust.edu.cn/apache/kafka/0.11.0.3/ 下载源码 首先安装 gradle,不再说明 1 ...

  10. spark2.4.2 源码编译

    基于Maven的构建是Apache Spark的参考构建.使用Maven构建Spark需要Maven 3.5.4和Java 8.请注意,从Spark 2.2.0开始,对Java 7的支持已被删除. 包 ...

随机推荐

  1. linux 基础之输入输出重定向

    输入输出重定向 输出重定向 正确命令 > 文件 (覆盖) 正确命令 >> 文件(追加) 错误命令 2> 文件(覆盖) 错误命令 2>>文件(追加) 命令> 文 ...

  2. 算法之SPFA的前置:Bellman-Ford算法

    SPFA 我们都知道一个叫SPFA的算法,它是用来计算单源最短路径的,但是,众所周知它不是很稳定,容易退化. SPFA是基于什么被提出的? 基于一个叫做Bellman-Ford的算法. Bellman ...

  3. Python从零到壹丨图像增强及运算:图像掩膜直方图和HS直方图

    摘要:本章主要讲解图像直方图相关知识点,包括掩膜直方图和HS直方图,并通过直方图判断黑夜与白天,通过案例分享直方图的实际应用. 本文分享自华为云社区<[Python从零到壹] 五十二.图像增强及 ...

  4. 1月12日内容总结——文件和文件索引、链接、系统时间、克隆、定时任务、paramiko模块、公钥私钥、paramiko代码封装

    目录 一.文件相关信息 二.文件索引信息 三.链接信息 四.系统时间 五.机器克隆 六.定时任务 七.paramiko模块 八.公钥私钥 九.paramiko其他操作 十.代码封装 十一.面试题回忆 ...

  5. QuartzNet在winform中使用(目前版本3.6)

    界面图"没有什么技术含量~   不过还是有部分人不太了解的 接下来一一解析下,勿q 使用步骤: 1.初始化帮助类 QuarztHelper x = new QuarztHelper(); 2 ...

  6. 记录一次前端hack尝试

    背景 playcode很好用,但是给的免费时间很短,于是想hack他 hack的步骤全部来源于bilibili视频:https://www.bilibili.com/video/BV1N3411v7C ...

  7. 0源码基础学习Spring源码系列(一)——Bean注入流程

    作者:京东科技 韩国凯 通过本文,读者可以0源码基础的初步学习spring源码,并能够举一反三从此进入源码世界的大米! 由于是第一次阅读源码,文章之中难免存在一些问题,还望包涵指正! 一. @Auto ...

  8. 叠堆柱状图(带折线版+2y轴)

    叠堆柱状图(带折线+2y轴) 代码 var chartDom=document.getElementById("stackBarAddLine"); var myChart=ech ...

  9. 一文详解 jitpack 多渠道maven库发布

    先说一下,为什么会有这篇文章? 最初接触 JitPack 时,发现网络上大量涉及JitPack的教程不可用.通过两天的研究才搞明白: 1.不同的gradle版本,gradle api使用方式 与 Ji ...

  10. 勇者sky遇上的命中注定的恋人白羽竟然是妹妹2

    题目大意 构造一个分段函数来拟合若干点(\(x_i , y_i\)),每一段是一个常函数,即 \[f(x)= \left \{ \begin{aligned} a_1& & (0\le ...