Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装

Posted ErBing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装相关的知识,希望对你有一定的参考价值。

【注】该系列文章以及使用到安装包/测试数据 可以在《倾情大奉送--Spark入门实战系列》获取

1编译Spark

Spark可以通过SBTMaven两种方式进行编译,再通过make-distribution.sh脚本生成部署包。SBT编译需要安装git工具,而Maven安装则需要maven工具,两种方式均需要在联网下进行,通过比较发现SBT编译速度较慢(原因有可能是1、时间不一样,SBT是白天编译,Maven是深夜进行的,获取依赖包速度不同 2maven下载大文件是多线程进行,而SBT是单进程),Maven编译成功前后花了34个小时。

1.1 编译SparkSBT

1.1.1 安装git并编译安装

1.  从如下地址下载git安装包

http://www.onlinedown.net/softdown/169333_2.htm

https://www.kernel.org/pub/software/scm/git/

如果linuxCentOS操作系统可以通过:yum install git直接进行安装

clip_image002

由于从https获取内容,需要安装curl-devel,可以从如下地址获取

http://rpmfind.net/linux/rpm2html/search.php?query=curl-devel

如果linuxCentOS操作系统可以通过:yum install curl-devel直接进行安装

clip_image004

2. 上传git并解压缩

git-1.7.6.tar.gz安装包上传到/home/hadoop/upload目录中,解压缩然后放到/app目录下

$cd /home/hadoop/upload/

$tar -xzf git-1.7.6.tar.gz

$mv git-1.7.6 /app

$ll /app

clip_image006

3. 编译安装git

root用户进行在git所在路径编译安装git

#yum install curl-devel

#cd /app/git-1.7.6 

#./configure

#make

#make install

clip_image008

clip_image010

clip_image012

clip_image014

4. git加入到PATH路径中

打开/etc/profilegit所在路径加入到PATH参数中

export GIT_HOME=/app/git-1.7.6

export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$GIT_HOME/bin

clip_image016

重新登录或者使用source /etc/profile使参数生效,然后使用git命令查看配置是否正确

clip_image018

1.1.2 下载Spark源代码并上传

1. 可以从如下地址下载到spark源代码:

http://spark.apache.org/downloads.html

http://d3kbcqa49mib13.cloudfront.net/spark-1.1.0.tgz

git clone https://github.com/apache/spark.git

把下载好的spark-1.1.0.tgz源代码包使用1.1.3.1介绍的工具上传到/home/hadoop/upload 目录下

clip_image020

2. 在主节点上解压缩

$cd /home/hadoop/upload/

$tar -xzf spark-1.1.0.tgz

clip_image022

3. spark-1.1.0改名并移动到/app/complied目录下

$mv spark-1.1.0 /app/complied/spark-1.1.0-sbt

$ls /app/complied

clip_image024

1.1.3 编译代码

编译spark源代码的时候,需要从网上下载依赖包,所以整个编译过程机器必须保证在联网状态。编译执行如下脚本:

$cd /app/complied/spark-1.1.0-sbt

$sbt/sbt assembly -Pyarn -Phadoop-2.2 -Pspark-ganglia-lgpl -Pkinesis-asl -Phive

clip_image026

clip_image028

clip_image030

整个编译过程编译了约十几个任务,重新编译N次,需要几个甚至十几个小时才能编译完成(主要看下载依赖包的速度)。

1.2 编译SparkMaven

1.2.1 安装Maven并配置参数

在编译前最好安装3.0以上版本的Maven,在/etc/profile配置文件中加入如下设置:

export MAVEN_HOME=/app/apache-maven-3.0.5

export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$GIT_HOME/bin

clip_image032

1.2.2 下载Spark源代码并上传

1. 可以从如下地址下载到spark源代码:

http://spark.apache.org/downloads.html

http://d3kbcqa49mib13.cloudfront.net/spark-1.1.0.tgz

git clone https://github.com/apache/spark.git

把下载好的spark-1.1.0.tgz源代码包使用1.1.3.1介绍的工具上传到/home/hadoop/upload 目录下

clip_image020[1]

2. 在主节点上解压缩

$cd /home/hadoop/upload/

$tar -xzf spark-1.1.0.tgz

clip_image022[1]

3. spark-1.1.0改名并移动到/app/complied目录下

$mv spark-1.1.0 /app/complied/spark-1.1.0-mvn

$ls /app/complied

clip_image034

1.2.3 编译代码

编译spark源代码的时候,需要从网上下载依赖包,所以整个编译过程机器必须保证在联网状态。编译执行如下脚本:

$cd /app/complied/spark-1.1.0-mvn

$export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"

$mvn -Pyarn -Phadoop-2.2 -Pspark-ganglia-lgpl -Pkinesis-asl -Phive -DskipTests clean package

clip_image036

整个编译过程编译了约24个任务,整个过程耗时1小时45分钟。

clip_image038

1.3 生成Spark部署包

Spark源码根目录下有一个生成部署包的脚本make-distribution.sh,可以通过执行如下命令进行打包 ./make-distribution.sh [--name] [--tgz] [--with-tachyon] <maven build options>

l  --name NAME--tgz 结合可以生成spark-$VERSION-bin-$NAME.tgz 的部署包,不加此参数时NAME hadoop 的版本号

l  --tgz在根目录下生成 spark-$VERSION-bin.tgz ,不加此参数时不生成tgz 文件,只生成/dist 目录

l  --with-tachyon  是否支持内存文件系统Tachyon ,不加此参数时不支持tachyon

clip_image040

例子:

1. 生成支持yarn hadoop2.2.0 hive 的部署包:

./make-distribution.sh --tgz --name 2.2.0 -Pyarn -Phadoop-2.2 -Phive

2. 生成支持yarn hadoop2.2.0 hive ganglia 的部署包:

./make-distribution.sh --tgz --name 2.2.0 -Pyarn -Phadoop-2.2 -Pspark-ganglia-lgpl -P hive

1.3.1 生成部署包

使用如下命令生成Spark部署包,由于该脚本默认在JDK1.6进行,在开始时会进行询问是否继续,只要选择Y即可

$cd /app/complied/spark-1.1.0-mvn/

$./make-distribution.sh --tgz --name 2.2.0 -Pyarn -Phadoop-2.2 -Pspark-ganglia-lgpl -P hive

clip_image042

clip_image044

 

clip_image046

生成Spark部署包编译了约24个任务,用时大概1小时38分钟。

 

1.3.2 查看生成结果

生成在部署包位于根目录下,文件名类似于spark-1.1.0-bin-2.2.0.tgz

clip_image048

2安装Spark

2.1 上传并解压Spark安装包

1.我们使用上一步骤编译好的spark-1.1.0-bin-2.2.0.tgz文件作为安装包(也可以从网上下载native文件夹或者打包好的64hadoop安装包),使用"Spark编译与部署(上)"1. 3.1介绍的工具上传到/home/hadoop/upload 目录下

clip_image050

2. 在主节点上解压缩

$cd /home/hadoop/upload/

$tar -xzf spark-1.1.0-bin-2.2.0.tgz

Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

Spark入门实战系列--2.Spark编译与部署(中)--Hadoop编译安装

Spark入门实战系列--2.Spark编译与部署(中)--Hadoop编译安装

Spark入门实战系列--2.Spark编译与部署(中)--Hadoop编译安装

倾情大奉送--Spark入门实战系列

倾情大奉送--Spark入门实战系列