本文介绍spark2.1.0的源码编译

1.编译环境:

Jdk1.8或以上

Hadoop2.7.3

Scala2.10.4

必要条件:

Maven 3.3.9或以上(重要)

点这里下载

http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz

修改/conf/setting.xml

<mirror>

<id>alimaven</id>

<name>aliyun maven</name>

<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

2. 下载http://spark.apache.org

2.1Download

​

2.2. 解压

tar -zxvf spark-2.1.0.tgz

3. 进入主目录,修改编译文件,进行编译

修改spark-2.1.0/dev目录下的make-distribution.sh ,注释掉原来的指定版本,可以节省时间

vi make-distribution.sh

​

温馨提示:

该文件中如图所示,czf前少个“-”,需要自己修改

注意:

如果你用的hadoop版本是cdh的,那么需要修改spark根目录pom.xml文件,添加cdh的依赖

<repository>
        <id>cloudera</id>
        <name>cloudera Repository</name>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
添加在<repositorys></repositorys>里

​

3.1设置内存

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

3.2编译

./dev/make-distribution.sh \

--name 2.7.3 \

--tgz   \

-Pyarn \

-Phadoop-2.7 \  -Dhadoop.version=2.7.3 \

-Phive -Phive-thriftserver \

-DskipTests clean package

接下来就静静地等待吧,第一次编译时间可能很长,几小时或十几小时,取决于网速,因为要下载很多包

命令解释:

--name 2.7.3  ***指定编译出来的spark名字,name=

--tgz ***压缩成tgz格式

-Pyarn \ ***支持yarn平台

-Phadoop-2.7 \  -Dhadoop.version=2.7.3 \ ***指定hadoop版本为2.7.3

-Phive -Phive-thriftserver \ ***支持hive

-DskipTests clean package ***跳过测试包

好了,spark的编译到此就结束了

下面分享一下编译遇到的一些问题

错误1:

Failed to execute goal on project spark-launcher_2.11:

Could not resolve dependencies for project org.apache.spark:spark-launcher_2.11:jar:2.1.0:

Failure to find org.apache.hadoop:hadoop-client:jar:hadoop2.7.3 in https://repo1.maven.org/maven2 was cached in the local repository,

resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

解决:遇该错误,原因可能是编译命令中有参数写错。。。。(希望你没遇到​)

错误2:

+ tar czf 'spark-[info] Compile success at Nov 28, 2017 11:27:10 AM [20.248s]-bin-2.7.3.tgz' -C /zhenglh/new-spark-build/spark-2.1.0 'spark-[info] Compile success at Nov 28, 2017 11:27:10 AM [20.248s]-bin-2.7.3'

tar (child): Cannot connect to spark-[info] Compile success at Nov 28, 2017 11: resolve failed

编译的结果没打包:

spark-[info] Compile success at Nov 28, 2017 11:27:10 AM [20.248s]-bin-2.7.3

这个错误可能第一次编译的人都会遇到

解决:见温馨提示​

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

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

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

  2. Spark2.1.0之源码分析——事件总线

    阅读提示:阅读本文前,最好先阅读<Spark2.1.0之源码分析——事件总线>.<Spark2.1.0事件总线分析——ListenerBus的继承体系>及<Spark2. ...

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

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

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

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

  5. Spark-2.0.2源码编译

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

  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 ...

随机推荐

  1. layer.open自定义弹出位置

    fixed:false,设置top才有效,待测试. 这个设置不起作用 var img = "<img src=\"/_temp/qrcodenet/m/book/book20 ...

  2. js取得对象的类名constructor.name

    constructor 属性返回对创建此对象的数组函数的引用. 语法 object.constructor 例子 new Array().constructor//ƒ Array() { [nativ ...

  3. Java LowerBound

    Java LowerBound /** * <html> * <body> * <P> Copyright 1994-2018 JasonInternational ...

  4. c++中配置多个环境的格式

    例:环境1=$(QTDIR)\bin 环境2=$(PATH) 环境3=E:\软件\办公\Vimba_2.1\VimbaCPP\Bin\Win64 具体配置为 PATH=$(QTDIR)\bin%3b$ ...

  5. J.U.C之AQS:同步状态的获取与释放

    此篇博客所有源码均来自JDK 1.8 在前面提到过,AQS是构建Java同步组件的基础,我们期待它能够成为实现大部分同步需求的基础.AQS的设计模式采用的模板方法模式,子类通过继承的方式,实现它的抽象 ...

  6. hystrix配置

    一.hystrix在生产中的建议 1.保持timeout的默认值(1000ms),除非需要修改(其实通常会修改) 2.保持threadpool的的线程数为10个,除非需要更多 3.依赖标准的报警和监控 ...

  7. 【SpringMVC】拦截器

    一.概述 1.1 拦截器的异常场合 1.2 拦截器中的方法 二.示例 2.1 定义两个拦截器 2.2 配置拦截器 2.3 执行顺序 三.拦截器应用 3.1 需求 3.2 用户登陆及退出功能开发 3.3 ...

  8. Elasticsearch7

    elasticsearch 由来 点击进入 elasticsearch 基本概念 点击进入 elasticsearch 安装 点击进入 elasticsearch 增删改查 点击进入 elastics ...

  9. c# 方法的隐藏

  10. iview DatePicker 只能选本月

    html <FormItem label="活动时间" prop="activity_time"> <DatePicker v-model=& ...