spark2.0.1源码编译

傲气雄鹰 傲气雄鹰     2022-09-30     462

关键词:

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

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

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

 

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

 

Spark 2.0 数据集与数据帧

】Spark2.0数据集与数据帧【英文标题】:Spark2.0DatasetvsDataFrame【发布时间】:2016-11-1419:44:36【问题描述】:从spark2.0.1开始我有一些问题。我阅读了很多文档,但到目前为止找不到足够的答案:两者有什么区别df.select("foo")df... 查看详情

Spark 2.0:如何将元组的 RDD 转换为 DF [重复]

】Spark2.0:如何将元组的RDD转换为DF[重复]【英文标题】:Spark2.0:howtoconvertaRDDofTuplestoDF[duplicate]【发布时间】:2017-06-0103:12:16【问题描述】:我正在将我的一个项目从Spark1.6升级到Spark2.0.1。以下代码适用于Spark1.6,但不适用于2.0.1... 查看详情

源码包编译

1.源码编译介绍源码安装就是将开发人员写好的源码文件进行手动编译安装。目前开源软件,并不是所有的源代码都打成包,如果想使用开源软件,是需要自己下载进行编译安装。需要进行编译安装的场景:软件提供商没有做打... 查看详情

qt源码编译

Qt源码编译[email protected]Keywords.Qt,源码编译1.Introduction随着Qt版本升级,源码编译出来的库体积越来越大。如果只是用Qt来做GUI,Qt提供的预编译库中有很多很功能不会用到,所以如果自己从源码编译Qt,一是可以只使用自己程... 查看详情

spark概述(代码片段)

...ming。下载从该项目官网的下载页面获取Spark,该文档用于Spark2.0.2版本。Spark使用了用于HDFS和YRAN的Hadoopclient的库。为了适用于主流的Hadoop版本可以下载先前的package。用户还可以下载“Hadoopfree”binary并且可以通过增加Spark的classpath... 查看详情

源码编译安装lamp

一、概述1、源码编译安装LAMP为什么要源码编译      一般来说,我们软件的安装方式有yum(rpm),和源码编译两种方式,那么为什么我们需要源码编译安装一部分软件?选择源码编译安装软件有以下几个原... 查看详情

编译sqlcipher_android源码

编译SqlCipher_android源码为了使用SqlCipher在Android上进行二次开发,首先对SqlCipher源码进行了编译,现在对android-database-sqlcipher进行编译,生成so文件,并打包aar包进行使用。编译SqlCipher源码文章目录编译SqlCipher_android源码前言准备编... 查看详情

源码编译安装

在linux下面安装一个源码包是最常用的,在日常的管理工作中,大部分软件都是通过源码安装的。安装一个源码包,是需要我们自己把源代码编译成二进制的可执行文件。如果你读得懂这些源代码,那么你就可以去修改这些源代... 查看详情

源码编译三部曲(以nginx示例)(代码片段)

源码编译三部曲什么是源码编译为什么要选择源码编译rpm包与源码包区别源码编译三部曲预编译./configure编译make安装makeinstall启动nginx怎么卸载源码安装的软件nginx优化直接使用nginx二进制程序控制nginx全局使用nginx命令控制nginx使... 查看详情

lamp架构nginxphpmysql源码编译安装(代码片段)

目录一、nginx源码编译及使用1.源码编译2.nginx配置及部署软连接瘦身nginx清除缓存不显示nginx版本nginx开机自启二、php源码编译及使用1.源码编译2.nginx结合php-fpm安装phpmyadmin三、mysql源码编译phpmyadmin连接mysql源码编译安装三部曲࿱... 查看详情

lamp架构nginxphpmysql源码编译安装(代码片段)

目录一、nginx源码编译及使用1.源码编译2.nginx配置及部署软连接瘦身nginx清除缓存不显示nginx版本nginx开机自启二、php源码编译及使用1.源码编译2.nginx结合php-fpm安装phpmyadmin三、mysql源码编译phpmyadmin连接mysql源码编译安装三部曲࿱... 查看详情

安卓系统源码编译系列——安卓系统源码编译教程(代码片段)

折腾了两天终于完成了安卓系统源码的下载,虽然说中间遇到了不少波折,但总算顺利完成,有兴趣的朋友可以参考我的上一篇博文《安卓系统源码编译系列(一)——下载安卓系统源码教程》。完成了源码... 查看详情

源码编译安装

...sp;   在日常管理工作中,大部分软件都是通过源码安装的。安装一个源码包,是需要我们自己把源代码编译成二进制的可执行文件。使用源代码的好处有可以自定义修改源代码,还可以定制相关的功能,因为源代码在... 查看详情

lamp源码编译

---恢复内容开始---1、LAMP源码编译的基础环境  安装组建包:yumgroupinstall"DevelopmentTools""DevelopmentLibraries"-y  安装编译包:yuminstallgccgcc-c++openssl-devel-y  下载源码包:   apr-1.6.3.tar.gz    mysql-5.6.38-linux- 查看详情

lnmp源码编译

LNMP源码编译在编译之前先把开发包组安装了[[email protected]~]#yumgroupinstall"DevelopmentTools""DevelopmentLibraries"-y[[email protected]~]#yuminstallgccgcc-c++autoconfautomakezlibzlib-developensslopenssl-deve 查看详情

nacos源码系列源码编译(代码片段)

Nacos源码编译github下载地址https://github.com/alibaba/nacos/tree/2.0.4用Idea打开添加,注意JDK版本使用1.8,否则在编译的时候可能会出现报错, 在idea的EditConfigurations里配置maven命令:-Prelease-nacos-Dmaven.test.skip=truecleaninstall-U配置mysql数 查看详情

虚拟机编译sqlcipher源码

文章目录前言一、源码编译准备安装虚拟机安装tcl下载最新的SqlCipher代码编译SqlCipher源码SqlCipher的简单使用结束前言因项目需要,要自己编译sqlcipher进行android支持,故需要先对sqlcipher编译生成sqllite3.c、sqlite.h然后在sqlcipher-android... 查看详情

jetty源码学习-编译jetty源码二三事

...了,JDK基础和web应用框架学的的差不多了,开始学习Jetty源码,费了小半天才编译成功,把自己拆过的坑记录下来。编译前的环境:MAVEN3.3、EclipseLunaServiceRelease1(4.4.1) 下载好MAVEN后,得把Eclipse中的maven配置为下载的MAVEN具体请... 查看详情