Spark编译
Apache Spark™ is a unified analytics engine for large-scale data processing.
我所使用的Spark是Spark2.2.0版本
1.首先从官网下载源码,解压。
2.个人目录介绍
app 存放安装软件
software 存放软件包的jar
data 存放测试数据
lib 存放我们自己的jar
source 存放源码
3.编译前的准备
编译环境准备:
hadoop-2.6.0-cdh5.7.0
scala-2.11.8
apache-maven-3.3.9
java/jdk1.8.0_45
以下是我的环境:(我的java放在全局环境中)
软件安装
JDK:官网下载8以上的版本,解压并设置好系统环境变量即可,我一般使用~/.bash_profile文件设置系统环境变量,系统环境变量更改后别忘了source,安装完成后可以java -version验证一下。
Maven:官网下载apache-maven-3.3.9-bin.zip版本,解压到app目录,并设置好系统环境变量,通过mvn -v可验证是否成功安装。
/home/hadoop/app/apache-maven-3.3.9/conf该目录下有setting.xml文件,建议修改其内的存储路径,加上以下语句,可修改成你自己想要用来存储的目录。
Scala:官网下载scala-2.11.8版本,解压到app目录,设置好系统环境变量,命令行直接输入scala回车,验证是否安装成功。
Git:yum install git
4.编译
设置make-distribution.sh:
注释掉以下部分:
加上以下内容(指定自己的版本):
VERSION=2.2.0
SCALA_VERSION=2.11
SPARK_HADOOP_VERSION=2.6.0-cdh5.7.0
SPARK_HIVE=1
Apache Maven
The Maven-based build is the build of reference for Apache Spark. Building Spark using Maven requires Maven 3.3.9(我用的maven版本) or newer and Java 8+. Note that support for Java 7 was removed as of Spark 2.2.0.
You’ll need to configure Maven to use more memory than usual by setting MAVEN_OPTS
:
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
你需要在编译前执行上述命令,或者将其添加为系统环境变量
编译前建议添加以下语句提升编译速度:
/home/hadoop/source/spark-2.2.0 源码包中 修改pom.xml
执行编译命令:./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Dhadoop.version=2.6.0-cdh5.7.0 -Phadoop-2.6 -Phive -Phive-thriftserver -Pyarn
静等成功即可
Spark编译的详细介绍见官网:http://spark.apache.org/docs/latest/building-spark.html