博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编译CDH Spark源代码
阅读量:6722 次
发布时间:2019-06-25

本文共 2965 字,大约阅读时间需要 9 分钟。

本文以Cloudera维护的Spark分支项目为例,记录跟新Spark分支以及编译Spark源代码的过程。

下载代码

在Github上fork Cloudera维护的项目到自己的github账号里,对应的地址为。

下载代码:

$ git clone https://github.com/javachen/spark

然后,切换到最新的分支,当前为 cdh5-1.3.0_5.4.0。

$ cd spark$ git checkout cdh5-1.3.0_5.4.0

查看当前分支:

⇒  git branch* cdh5-1.3.0_5.4.0  master

如果spark发布了新的版本,需要同步到我自己维护的spark项目中,可以按以下步骤进行操作:

# 添加远程仓库地址$ git remote add cdh git@github.com:cloudera/spark.git# 抓取远程仓库更新:$ git fetch cdh# 假设cloudera发布了新的版本 cdh/cdh5-1.3.0_5.4.X$ git checkout -b cdh5-1.3.0_5.4.X cdh/cdh5-1.3.0_5.4.X# 切换到新下载的分支 $ git checkout cdh5-1.3.0_5.4.X# 将其提交到自己的远程仓库:$ git push origin cdh5-1.3.0_5.4.X:cdh5-1.3.0_5.4.X

编译

安装 zinc

在mac上安装:

$ brew install zinc

使用maven编译

指定hadoop版本为2.6.0-cdh5.4.0,并集成yarn和hive:

$ export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"$ mvn -Pyarn -Dhadoop.version=2.6.0-cdh5.4.0 -Phive -DskipTests clean package

在CDH的spark中,要想集成hive-thriftserver进行编译,需要修改 pom.xml 文件,添加一行 sql/hive-thriftserver:

core
bagel
graphx
mllib
tools
streaming
sql/catalyst
sql/core
sql/hive
sql/hive-thriftserver
repl
assembly
external/twitter
external/kafka
external/flume
external/flume-sink
external/zeromq
external/mqtt
examples

然后,再执行:

$ export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"$ mvn -Pyarn -Dhadoop.version=2.6.0-cdh5.4.0 -Phive -Phive-thriftserver -DskipTests clean package

运行测试用例:

$ mvn -Pyarn -Dhadoop.version=2.6.0-cdh5.4.0 -Phive  test

运行java8测试:

$ mvn install -DskipTests -Pjava8-tests

使用sbt编译

$ build/sbt -Pyarn -Dhadoop.version=2.6.0-cdh5.4.0 -Phive assembly

生成压缩包

$ ./make-distribution.sh

排错

  1. Unable to find configuration file at location scalastyle-config.xml 异常

在idea中使用maven对examples模块运行package或者install命令会出现 Unable to find configuration file at location scalastyle-config.xml异常,解决办法是将根目录下的scalastyle-config.xml拷贝到examples目录下去,这是因为pom.xml中定义的是scalastyle-maven-plugin插件从maven运行的当前目录查找该文件。

org.scalastyle
scalastyle-maven-plugin
0.4.0
false
true
false
false
${basedir}/src/main/scala
${basedir}/src/test/scala
scalastyle-config.xml
scalastyle-output.xml
UTF-8
package
check

转载地址:http://kfnmo.baihongyu.com/

你可能感兴趣的文章
转 思杰南京笔试
查看>>
Apache添加到windows服务和移除Apache的windows服务
查看>>
React Native 学习笔记(二)组件生命周期函数
查看>>
前端三大框架有哪些异同呢
查看>>
java IO 包源码解析
查看>>
CSS3 线性渐变(linear-gradient)
查看>>
学术休假-银行储蓄系统
查看>>
[CodeForces - 463B] Caisa and Pylons
查看>>
Java时间和时间戳的相互转换
查看>>
Java对象序列化与反序列化
查看>>
multiprocess(上)
查看>>
第43条:返回零长度的数组或者集合,而不是null
查看>>
homework-10
查看>>
1123: 零起点学算法30——参加程序设计竞赛
查看>>
jquery中this和$(this)使用的地方
查看>>
洛谷P4557 [JSOI2018]战争(闵可夫斯基和+凸包)
查看>>
洛谷P4151 [WC2011]最大XOR和路径(线性基)
查看>>
[bzoj 2456]mode
查看>>
jQuery页面元素操作之遍历元素
查看>>
CodeFile与CodeBehind的区别
查看>>