spark2.1.0编译 cdh5.7.0版本

一、实现目标

从spark官网下载2.1.0的源码,然后编译对应hadoop版本的spark,从而可以解决很多兼容性问题,使程序运行环境更加优越,顺畅。

二、环境准备

1.硬件

无论云主机还是虚拟机,内存一定要4G以上,最好8G+。

2.软件

(1)java:spark 2.0以后的版本都用JAVA1.8+的

1)删除之前java

rpm -qa | grep jdk
结果:
java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el6_9.x86_64
java-1.7.0-openjdk-devel-1.7.0.181-2.6.14.8.el6_9.x86_64


删除
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el6_9.x86_64  java-1.7.0-openjdk

2)查看java -version
java version "1.5.0"
3)接着删除

rpm -qa | grep java
结果:
java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
tzdata-java-2012j-1.el6.noarch
java_cup-0.10k-5.el6.x86_64

删除
rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 tzdata-java-2012j-1.el6.noarch 

4)刷新

source /etc/profile
java -version
结果:
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

(2)maven3.3.9

1)解压缩

tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /opt/modules/

2)配置maven环境变量

vi /etc/profile

export MAVEN_HOME=/opt/modules/apache-maven-3.3.9
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$MAVEN_HOME/bin

3)生效环境变量

source /etc/profile

4)检查是否安装成功

mvn -version
显示:
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /opt/modules/apache-maven-3.3.9
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /opt/jdk1.8.0_151/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-358.el6.x86_64", arch: "amd64", family: "unix"

(3)scala:2.11.8

从spark2.0开始,默认使用scala 2.11以后的版本编译,检查scala版本

echo $SCALA_HOME

(4)配置maven内存

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

三、编译步骤

1.解压缩

tar -zxvf spark-2.1.0.tgz

2.修改/opt/software/spark-2.1.0/dev/make-distribution.sh文件,从而编译更加快速

VERSION=2.1.0
SCALA_VERSION=2.11   大版本
SPARK_HADOOP_VERSION=2.7.3
SPARK_HIVE=1

3.如果是cdh版本的hadoop,则需要修改/opt/software/spark-2.1.0/pom.xml.在repositories中添加:

<repository>
		<id>cloudera</id>
		<name>cloudera Repository</name>
		<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>

4.设置内存

export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"

5.在spark根目录下运行

./dev/make-distribution.sh  --tgz -PR -Phadoop-2.7.3  -Phive -Phive-thriftserver -Pyarn

6.编译成功后,在/opt/software/spark-2.1.0下面有编译成功的spark包。

(至此完成~)

猜你喜欢

转载自blog.csdn.net/u010886217/article/details/84310798