编译适合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