使用maven&&make-distribution.sh编译打包spark源码
1》基础环境准备:
jdk1.8.0_101
maven 3.3.9
scala2.11.8
安装好上述软件,配置好环境变量,并检查是否生效。
2》配置maven:intellij idea maven配置及maven项目创建
3》设置maven编译内存
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
4.》使用maven命令编译源码。
mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7. -Phive -Phive-thriftserver -DskipTests
5》使用spark自带打包脚本打包(实际上该脚本调用上述的mvn命令,所以可以直接跳过第4步,当然如果只是调试用,不用打成压缩包,则直接到第4步即可)。
首先修改脚本:在spark源码包根目录下执行如下命令, vi dev/make-distribution.sh
注释掉以下内容:位于文件中的120~136行。 #VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ >/dev/null | grep -v "INFO" | tail -n )
#SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ >/dev/null\
# | grep -v "INFO"\
# | tail -n )
#SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ >/dev/null\
# | grep -v "INFO"\
# | tail -n )
#SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ >/dev/null\
# | grep -v "INFO"\
# | fgrep --count "<id>hive</id>";\
# # Reset exit status to , otherwise the script stops here if the last grep finds nothing\
# # because we use "set -o pipefail"
# echo -n) 添加以下内容: VERSION=2.3.
SCALA_VERSION=2.11
SPARK_HADOOP_VERSION=2.7.
SPARK_HIVE=
6》修改后保存退出。在源码包根目录指定以下命令:
./dev/make-distribution.sh –name 2.7.3 –tgz -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -Phadoop-provided -Phive -Phive-thriftserver -DskipTests

如果要编译对应的cdh版本,需要在源码的根目录下的pom文件中添加如下的仓库。
添加 cdh的仓库。
<repository>
<id>clouders</id>
<name>clouders Repository</name>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
命令解释:
--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 ***跳过测试包
使用maven&&make-distribution.sh编译打包spark源码的更多相关文章
- 【源码编译】spark源码编译
本文采用cdh版本spark-1.6.0-cdh5.12.0 1.源码包下载 2.进入根目录编译,编译的方式有2种 maven mvn clean package \ -DskipTests -Pha ...
- Spark源码的编译过程详细解读(各版本)
说在前面的话 重新试多几次.编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,按ctrl+c,重新运行编译命令. 如果出现缺少了某个文件的情况,则要先清理maven(使用命 ...
- Spark源码的编译过程详细解读(各版本)(博主推荐)
不多说,直接上干货! 说在前面的话 重新试多几次.编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,按ctrl+c,重新运行编译命令. 如果出现缺少了某个文件的情况,则要 ...
- window环境下使用sbt编译spark源码
前些天用maven编译打包spark,搞得焦头烂额的,各种错误,层出不穷,想想也是醉了,于是乎,换种方式,使用sbt编译,看看人品如何! 首先,从官网spark官网下载spark源码包,解压出来.我这 ...
- idea下关联spark源码环境(转)
0.环境: java 1.8 scala 2.11.8 maven 3.5.0 idea 2017 spark 2.2.0 1完成以下配置 java环境变量 scala环境变量 maven setti ...
- Spark笔记--使用Maven编译Spark源码(windows)
1. 官网下载源码 source code,地址: http://spark.apache.org/downloads.html 2. 使用maven编译: 注意在编译之前,需要设置java堆大小以及 ...
- Spark 学习(三) maven 编译spark 源码
spark 源码编译 scala 版本2.11.4 os:ubuntu 14.04 64位 memery 3G spark :1.1.0 下载源码后解压 1 准备环境,安装jdk和scala,具体参考 ...
- 编译Spark源码
Spark编译有两种处理方式,第一种是通过SBT,第二种是通过Maven.作过Java工作的一般对于Maven工具会比较熟悉,这边也是选用Maven的方式来处理Spark源码编译工作. 在开始编译工作 ...
- 使用 IntelliJ IDEA 导入 Spark源码及编译 Spark 源代码
1. 准备工作 首先你的系统中需要安装了 JDK 1.6+,并且安装了 Scala.之后下载最新版的 IntelliJ IDEA 后,首先安装(第一次打开会推荐你安装)Scala 插件,相关方法就不多 ...
随机推荐
- ECharts 定制 label 样式
起因 实现对 label 的样式定制,自定义字体颜色.大小等属性:效果如下图 实现 itemStyle: { normal: { color: '#f7ba0e', label: { ...
- BZOJ 2424 订货 最小费用流
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2424 题目大意: 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的 ...
- python第四课——运算符
一.python中的运算符: 什么是运算符? 就是计算机语言中用来参与运算的符号!! 1.算数运算符: 符号:+ - * / %(取余,取模) //(取整) **(开方) 2.比较运算符: 特点:比较 ...
- 【转】Android应用如何跳转到应用市场详情页面
Android应用开发过程中,可能会有需求,比如:推广时跳转到应用市场下载应用,跳转到应用市场给自己的应用打分,跳转到应用市场更新自己的应用.那如何跳转到应用市场呢? 可能跳转的方法大家都是知道的,方 ...
- C. Serval and Parenthesis Sequence 【括号匹配】 Codeforces Round #551 (Div. 2)
冲鸭,去刷题:http://codeforces.com/contest/1153/problem/C C. Serval and Parenthesis Sequence time limit pe ...
- 详解 MNIST 数据集
转自:https://blog.csdn.net/simple_the_best/article/details/75267863 MNIST 数据集已经是一个被”嚼烂”了的数据集, 很多教程都会对它 ...
- JavaScript实现计时器
var myVar=setInterval(function(){myTimer()},1000); function myTimer() { var d = new Date(); document ...
- python3 unittest框架失败重跑加截图支持python2,python3
github源码地址下载:https://github.com/GoverSky/HTMLTestRunner_cn.git 解压文件后取出/HTMLTestRunner_cn.py文件丢进C:\Py ...
- http协议cookie结构分析
Http协议中Cookie详细介绍 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失 ...
- Spring源码分析(十一)bean的加载
摘要:本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 经过前面的分析,我们终于结束了对XML配置文件的解析,接下来将会面临更大 ...