赞
踩
版本对应
Spark版本3以上不再支持scala2.11
环境:
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>
使用mvn打包命令先测试(把一些jar包下载下来)
build/mvn -Pyarn -Phadoop-3.0.0 -Dhadoop.version=3.0.0-cdh6.3.2 -DskipTests clean package
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。