作者:myldd | 来源:互联网 | 2023-01-21 12:36
环境apache-maven-3.3.9-bin.tar.gzscala-2.11.8.tgzjdk-8u91-linux-x64.tar.gzspark-2.2.0.tgz
环境
apache-maven-3.3.9-bin.tar.gz
scala-2.11.8.tgz
jdk-8u91-linux-x64.tar.gz
spark-2.2.0.tgz
编译
vi pom.xml
添加如下内容:
<repository>
<id>clouderaid>
<name>cloudera Repositoryname>
<url>https://repository.cloudera.com/artifactory/cloudera-reposurl>
repository>
一定要放在原始仓库的下方
<repository>
<id>centralid>
<name>Maven Repositoryname>
<url>https://repo1.maven.org/maven2url>
<releases>
<enabled>trueenabled>
releases>
<snapshots>
<enabled>falseenabled>
snapshots>
repository>
<repository>
<id>clouderaid>
<name>cloudera Repositoryname>
<url>https://repository.cloudera.com/artifactory/cloudera-reposurl>
repository>
- 编译太慢,修改dev/make-distribution.sh内容
将上面的版本检测注释,直接替换成我们当前对应软件的版本
#VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)
#SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
# | grep -v "INFO"\
# | tail -n 1)
#SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
# | grep -v "INFO"\
# | tail -n 1)
#SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
# | grep -v "INFO"\
# | fgrep --count "hive";\
# # 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.2.0
SCALA_VERSION=2.11
SPARK_HADOOP_VERSION=2.6.0-cdh5.7.0
SPARK_HIVE=1 #表示启用HIVE
./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Pyarn -Phive -Phive-thriftserver -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0 -Dskiptests clean package
# --name 2.6.0-cdh5.7.0 指定编译后包名
# --tgz 编译后包名进行压缩
# -Pyarn 指定yarn文件生效,这儿的yarn版本是指spark源码中指定的yarn版本(默认不支持yarn)
# -Phive -Phive-thriftserver 指定hive文件生效,这儿的hive版本是指spark源码中指定的hive版本(默认不支持hive和JDBC)
# -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0
# 由于我们不想用spark源码中指定的hadoop,故这儿我们指定特定的hadoop版本
# -Dskiptests 跳过测试
# clean package 清除之前编译产生的文件