本文共 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
在mac上安装:
$ brew install zinc
指定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
$ build/sbt -Pyarn -Dhadoop.version=2.6.0-cdh5.4.0 -Phive assembly
$ ./make-distribution.sh
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/