如何编译Spark

本文详细介绍了如何编译Spark,包括安装jdk、maven、scala和git等必要环境,以及通过make-distribution.sh脚本来编译Spark。为了提高编译速度,建议注释掉版本号并指定具体版本,如Spark 2.4.4、Scala 2.11、Hadoop 2.6.0-cdh5.15.1,并在pom.xml中添加CDH依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装环境

软件准备

spark-2.4.4.tgz源码
jdk-8u144-linux-x64.tar.gz   JDK1.8以上  
apache-maven-3.3.9-bin.tar.gz
scala-2.11.8.tgz
hadoop-2.6.0-cdh5.15.1.tar.gz

1.1 安装jdk

tar -xf jdk-8u144-linux-x64.tar.gz -C  /usr/local/spark-test/app
vi  /etc/profile       
export  JAVA_HOME=/usr/local/spark-test/app/jdk1.8.0_144
export  PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version

1.2 安装maven

tar -xf apache-maven-3.3.9-bin.tar.gz -C ../app/
vi /etc/profile
export MAVEN_HOME =/usr/local/spark-test/app/apache-maven-3.3.9(注意配置环境变量时,=与后面的路径之间不能有空格)
export PATH=$MAVEN_HOME/bin:$PATH
source /etc/profile
mvn -version
建议修改maven本地仓库的地址:
cd /usr/local/spark-test/app/apache-maven-3.3.9/conf
vi  settings.xml
添加一下   <localRepository>/usr/local/spark-test/maven_repo</localRepository>

1.3 安装scala

tar -xf scala-2.11.8.tgz  -C ../app/
vi /etc/profile
export SCALA_HOME=/usr/local/spark-test/app/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
source /etc/profile
scala

1.4 建议安装下git

 yum -y install git

2. 编译

我们使用make-distribution.sh来进行Spark的编译

./dev/make-distribution.sh --name 2.6.0-cdh5.15.1   --tgz   -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.15.1 -Phive -Phive-thriftserver  -Pyarn

提升Spark编译速度方法:
将VERSION ,SCALA_VERSION ,SPARK_HADOOP_VERSION ,SPARK_HIVE 注释掉,直接写上自己的版本。
spark 版本

#VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)

scala 版本

#SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | tail -n 1)

hadoop 版本

#SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
#    | grep -v "INFO"\
#    | tail -n 1)

hive

#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=2.4.4
SCALA_VERSION=2.11 大版本
SPARK_HADOOP_VERSION=2.6.0-cdh5.15.1
SPARK_HIVE=1 1表示支持

注意:
需要在spark的pom.xml文件中添加cdh依赖,要添加在Maven Repository仓库的后面

              <repository>
                <id>cloudera</id>
                <name>cloudera Repository</name>
                <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
               </repository>
识别 下方二 维码 ,即可关注公众号获取最新大厂技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值