`

Spark Build

 
阅读更多

原创转载请注明出处:http://agilestyle.iteye.com/blog/2337293

 

Prerequisite

硬件环境:Ubuntu16.04(8G内存)


 

软件环境:jdk1.7.0_80+scala-2.11.8+apache-maven-3.3.9


 

配置Linux下的环境变量(hadoop、hbase、hive以及zookeeper可以忽略)

vi .bashrc

# setup Java & Hadoop environment
export JAVA_HOME=/home/spark/app/jdk1.7.0_80
export SCALA_HOME=/home/spark/app/scala-2.11.8
export MVN_HOME=/home/spark/app/apache-maven-3.3.9
export HADOOP_HOME=/home/spark/app/hadoop-2.6.0-cdh5.9.0
export HBASE_HOME=/home/spark/app/hbase-1.2.0-cdh5.9.0
export HIVE_HOME=/home/spark/app/hive-1.1.0-cdh5.9.0
export ZOOKEEPER_HOME=/home/spark/app/zookeeper-3.4.9
export PATH=$PATH:${JAVA_HOME}/bin:${MVN_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${HBASE_HOME}/bin:${HIVE_HOME}/bin:${ZOOKEEPER_HOME}/bin:${SCALA_HOME}/bin


 

配置Maven的镜像,这里推荐使用阿里云,这样在build的时候下载相关的dependency会快很多

<mirror>
	<id>nexus-aliyun</id>
	<mirrorOf>central</mirrorOf>
	<name>Nexus aliyun</name>
	<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>


 

配置Maven的一个Repository(不加的话,Spark Project External MQTT会build不过)

<repository>
	<id>mqtt-repo</id>
	<name>MQTT Repository</name>
	<url>https://repo.eclipse.org/content/repositories/paho-releases</url>
	<releases>
		<enabled>true</enabled>
	</releases>
	<snapshots>
		<enabled>false</enabled>
	</snapshots>
</repository>


 

Build

Ubuntu需要安装R语言的相关依赖,否则build的时候会报这个错

“Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:exec (sparkr-pkg)”

sudo apt-get install r-base


 

Spark 1.x的版本是基于Scala 2.10的,自定义build改为Scala 2.11

./change-scala-version.sh 2.11


 

配置make-distribution.sh,注释掉130-142,添加143-146

#VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)
#SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | tail -n 1)
#SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | tail -n 1)
#SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | fgrep --count "<id>hive</id>";\
#    # Reset exit status to 0, otherwise the script stops here if the last grep finds nothing\
#    # because we use "set -o pipefail"
#    echo -n)
VERSION=1.6.3
SCALA_VERSION=2.11.8
SPARK_HADOOP_VERSION=2.6.5
SPARK_HIVE=1


 

执行make-distribution.sh

./make-distribution.sh --name hadoop2.6.5 --tgz -Psparkr -Phadoop-2.6 -Dhadoop.version=2.6.5 -Dscala-2.11 -Phive -Phive-thriftserver -Pyarn


 

等大约半个小时吧(取决于各自的网速,我是在公司的内网上build的,没有墙,应该会快点)


 

成功之后会在Spark source package目录下生成一个tgz的文件


比如:spark-1.6.3-bin-hadoop2.6.5.tgz

 

Reference

http://spark.apache.org/docs/latest/building-spark.html

  • 大小: 7 KB
  • 大小: 33 KB
  • 大小: 32.7 KB
  • 大小: 9.1 KB
  • 大小: 14.1 KB
  • 大小: 125.2 KB
  • 大小: 55.6 KB
  • 大小: 45.3 KB
  • 大小: 92.2 KB
  • 大小: 28 KB
  • 大小: 15.3 KB
  • 大小: 21.5 KB
分享到:
评论

相关推荐

    spark-job-server Build程序包

    在这个“spark-job-server Build程序包”中,我们看到的是通过 sbt(Scala Build Tool)构建的 Spark JobServer 的特定版本,即 V0.7,它基于 Scala 2.10 版本。 Sbt 是 Scala 社区广泛使用的构建工具,它允许...

    Spark3.1.2 Docker镜像资源

    步骤一:docker build -t registry/spark:3.1.2 -f kubernetes/dockerfiles/spark/Dockerfile . 步骤二:docker images查看镜像 步骤三:导出镜像 docker save -o spark3.1.2.tar registry/spark:3.1.2

    Spark-Core-Configuration:使用 Windows 配置 Spark Core 的步骤。 可用于任何 Spark Core 相关项目

    您可以在找到它们安装适用于 Windows 的 Spark Core USB 驱动程序安装 Node.js 安装 Spark-CLI 创建一个 Spark Build 帐户领取您的 Spark Core 配置 Spark Core 的 WiFi 确定您的 Spark 核心将代码部署到 Spark ...

    Build Spark1.4.1/1.4.0 on Linux

    ### 构建Spark 1.4.1/1.4.0在Linux系统上的知识点解析 #### 一、概述 本篇文章将详细解读构建Apache Spark 1.4.1/1.4.0版本在Linux操作系统上的过程以及遇到的具体错误,并提供相应的解决方案。 #### 二、构建...

    2.Spark编译与部署(下)--Spark编译安装.pdf

    1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战....

    Spark简单测试案例

    2. **配置用户自定义库**:在项目上右键选择 `Properties` -&gt; `Java Build Path` -&gt; `Libraries` -&gt; `Add Library` -&gt; `User Library`,创建一个新的库(如 `sparkJars`)并将 Spark 的 JAR 文件(除了 examples 包...

    Spark-2.4.5官网下载源码包

    7. `build/`:构建脚本和配置文件,如`build.gradle`,用于编译Spark源码。 8. `README.md`:项目简介和指南,帮助用户快速了解Spark和如何使用源码。 9. `LICENSE`:Spark的开源许可证,遵循Apache 2.0协议。 10. `...

    spark读取hbase数据,并使用spark sql保存到mysql

    在 Scala 代码中,你需要先引入相应的依赖,例如在 `build.sbt` 或 `pom.xml` 文件中添加: ```scala libraryDependencies += "com.hortonworks" %% "shc-core" % "1.1.1-2.1-s_2.11" // 对于 Scala 2.11 和 Spark ...

    spark2.0编译版-适用于hive2.3的hive on spark

    - 修改`build.sbt`或`pom.xml`配置文件,排除Hive相关的依赖。 - 使用Maven或SBT进行编译,生成不含Hive的Spark二进制包。 3. **环境配置**:在配置Hadoop和Hive环境时,需将Spark设置为Hive的执行引擎。在Hive的...

    spring+spark代码整合

    这通常通过Maven或Gradle的pom.xml或build.gradle文件完成。 2. **配置SparkContext**:在Spring应用中,我们可以创建一个Bean来初始化和管理SparkContext。这样,Spring会负责SparkContext的生命周期管理,确保其...

    spark1.3.1源码下载

    - `build/`:构建脚本和配置文件,用于编译和打包Spark。 编译源码通常需要Java、Scala和Maven环境,通过执行`build/sbt package`命令可以生成可执行的JAR包。同时,源码还包含了丰富的测试用例,可以帮助理解各个...

    spark-assembly-1.5.2-hadoop2.6.0jar包

    例如,在sbt的build.sbt文件中,你可以将此jar作为外部库依赖添加。 此外,由于此jar是预先编译并集成了所有依赖的"fat jar",因此它消除了可能的版本冲突问题,使得在多版本Hadoop环境中的部署变得更加简单。但...

    spark_2.6.1.zip

    "build"目录通常包含了构建Spark所需的配置文件和脚本。在这里,用户可以找到sbt(Scala Build Tool)的项目定义,这是Spark使用的主要构建工具。通过这些文件,用户可以编译源代码,生成可执行的JAR文件,或者设置...

    spark-2.3.1源码包

    3. **配置编译**:在解压后的Spark目录中,找到`build.sbt`和`project/`目录下的其他配置文件,根据需要修改相关参数,如`scalaVersion`、`assemblyMergeStrategy`等。 4. **执行编译**:在命令行中进入Spark目录,...

    spark配置文件

    - 添加构建文件:在Ant视图中选择`Add Buildfiles`,展开`spark` -&gt; `build`文件夹,选择`build.xml`文件。 - 构建项目:右键点击Ant视图中的`spark`,选择`Build`,等待构建成功提示。 - 配置运行:右键项目 -&gt; ...

    Spark_for_Python

    The book "Spark for Python Developers" by Amit Nandi aims to provide a concise guide for Python developers looking to implement Spark big data analytics and build real-time, insightful trend trackers...

    Spark 最简单WordCount

    2. 引入Spark库:在`build.sbt`或`pom.xml`文件中添加Spark依赖。对于Scala项目,通常使用`libraryDependencies += "org.apache.spark" %% "spark-core" % "x.x.x"`,其中`x.x.x`是Spark的版本号。 **三、编写...

Global site tag (gtag.js) - Google Analytics