编译适合CDH6.3.2的spark3.3.2

1、版本对应
编译环境:
jdk:1.8.0_181
maven:3.6.3
scala2.12.0
配置环境变量
#jdk
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
 
#maven
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
 
#scala
export SCALA_HOME=/usr/local/scala-2.11.12
export PATH=$PATH:$SCALA_HOME/bin

 

下载spark源码
上传,解压
 
修改pom.xml文件
 
增加cloudera的mvn镜像
第303行
   <repository>
       <id>cloudera</id>
       <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
       <name>Cloudera Repositories</name>
       <snapshots>
         <enabled>true</enabled>
       </snapshots>
     </repository>
第342行
   <pluginRepository>
     <id>cloudera</id>
     <name>Cloudera Repositories</name>
     <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
   </pluginRepository>
修改hadoop版本
第123行
<hadoop.version>3.0.0-cdh6.3.2</hadoop.version>

 

修改编辑脚本中的mvn仓库指向
vi /opt/spark-3.2.2/dev/make-distribution.sh
 
MVN='/usr/local/apache-maven-3.6.3/bin/mvn'

 

在脚本中,根据自己的资源确定内存大小,防止内存溢出
export MAVEN_OPTS="${MAVEN_OPTS:--Xmx1g -XX:ReservedCodeCacheSize=512m

 编译命令

./dev/make-distribution.sh \
--name 3.0.0-cdh6.3.2 --tgz  -Pyarn -Phadoop-3.0 \
-Phive -Phive-thriftserver -Dhadoop.version=3.0.0-cdh6.3.2 -X

 

编译完成
报错:jar下载失败
 
修改pom
1、
<parent>
   <groupId>org.apache</groupId>
   <artifactId>apache</artifactId>
   <version>18</version>
   <relativePath></relativePath>
  </parent>
org.apache增加
<relativePath></relativePath>
2、
<scalaVersion>${scala.version}</scalaVersion>
<checkMultipleScalaVersions>true</checkMultipleScalaVersions>
<failOnMultipleScalaVersions>true</failOnMultipleScalaVersions>
<recompileMode>incremental</recompileMode>
<useZincServer>false</useZincServer>
 
scala.version增加
<useZincServer>false</useZincServer>
3、
修改net.alchim31.maven版本(全部)为3.2.2
<dependency>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.2</version>
 

 

4、使用mvn打包命令先测试(把一些jar包下载下来)
build/mvn -Pyarn -Phadoop-3.0.0 -Dhadoop.version=3.0.0-cdh6.3.2 -DskipTests clean package
 
posted @ 2022-08-15 21:03  南星半夏  阅读(84)  评论(0编辑  收藏  举报