maven编译spark1.6.2

4330阅读 1评论2016-03-28 levy-linux
分类:大数据

1.1 搭建环境
1.1.1 安装并设置maven

1. 下载maven安装包,建议安装3.0以上版本,本次安装选择的是maven3.3.3的二进制包,下载地址如下


2. 使用ssh工具把maven包上传到/home/hadoop/upload目录

3. 解压缩apache-maven-3.3.3-bin.tar.gz包
tar -zxvf apache-maven-3.3.3-bin.tar.gz

4. 把apache-maven-3.3.3目录移到/usr/local目录下
mv apache-maven-3.3.3 /usr/local

5. 在/etc/profile配置文件中加入如下设置
export PATH=$JAVA_HOME/bin:/usr/local/apache-maven-3.3.3/bin:$PATH

1.2 编译Spark(Maven方式)
1.2.1 安装Maven并配置参数

在编译前最好安装3.0以上版本的Maven,在/etc/profile配置文件中加入如下设置:
export MAVEN_HOME=/app/apache-maven-3.3.3
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$GIT_HOME/bin

1.2.2 下载Spark源代码并上传

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


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

2. 在主节点上解压缩
cd /home/hadoop/upload/
tar -xzf spark-1.1.0.tgz

3. 把spark-1.6.2改名并移动到/app/complied目录下
mv spark-1.6.2 /app/complied/spark-1.6.2-mvn

1.2.3 编译代码

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

cd /app/complied/spark-1.6.2-mvn
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
mvn -Pyarn -Phadoop-2.4 -Pspark-ganglia-lgpl -Pkinesis-asl -Phive -DskipTests clean package(报错)

编译时错误的详细信息

Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:compile (scala-compile-first) on project spark-hive_2.10: Execution scala-compile-first of goalnet.alchim31.maven:scala-maven-plugin:3.2.2:compile failed. CompileFailed -> [Help 1]

我执行的命令:
build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package

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

1.3 生成Spark部署包

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

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

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

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

例子:

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

./make-distribution.sh --tgz --name 2.4.0 -Pyarn -Phadoop-2.4 -Phive

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

./make-distribution.sh --tgz --name 2.4.0 -Pyarn -Phadoop-2.4 -Pspark-ganglia-lgpl -P hive

1.3.1 生成部署包

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

cd /app/complied/spark-1.6.2-mvn/
./make-distribution.sh --tgz --name 2.4.0 -Pyarn -Phadoop-2.4 -Pspark-ganglia-lgpl -P hive

我执行的命令:
./make-distribution.sh --name spark-hadoop-2.4 --tgz --with-tachyon -Phadoop-2.4 -Pyarn -Pspark-ganglia-lgpl -Phive -Dhadoop.version=2.4.0 -Phive -Phive-thriftserver

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

1.3.2 查看生成结果

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


我这里只是记录了大概的操作内容,需要具体的内容参考如下链接,关于spark非常详细:
http://www.cnblogs.com/shishanyuan/p/4701646.html
上一篇:Hbase启动报错zookeeper.RecoverableZooKeeper: Node /hbase/rs/slave3
下一篇:spark on yarn报错ERROR GPLNativeCodeLoader: Could not load native gpl library

文章评论