spark2.3.0 源码编译,一次成功。

简介: 1》基础环境准备:jdk1.8.0_101 maven 3.3.9scala2.11.8安装好上述软件,配置好环境变量,并检查是否生效。

1》基础环境准备:

jdk1.8.0_101 
maven 3.3.9
scala2.11.8

安装好上述软件,配置好环境变量,并检查是否生效。

note:
2》maven 3.3.9 : 需要修改maven的安装目录下的conf/settings.xml文件中添加如下配置,以达到jar下载加速的效果

        <!-- 阿里云中央仓库 -->
     <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

3》设置maven编译内存

export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"

4.》

使用maven命令编译源码。

     mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -Phive -Phive-thriftserver  -DskipTests clean package

5》使用spark自带打包脚本打包。:

首先修改脚本:在spark源码包根目录下执行如下命令,

 vi dev/make-distribution.sh

注释掉以下内容:位于文件中的120~136行。

#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 "<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.3.0
SCALA_VERSION=2.11
SPARK_HADOOP_VERSION=2.7.3
SPARK_HIVE=1

6》修改后保存退出。在源码包根目录指定以下命令:

./dev/make-distribution.sh –name dev –tgz -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -Phadoop-provided -Phive -Phive-thriftserver

Note :

如果要编译对应的cdh版本,需要在源码的根目录下的pom文件中添加如下的仓库。
添加 cdh的仓库。

<repository>
      <id>clouders</id>
      <name>clouders Repository</name>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
相关文章
|
4月前
|
SQL 分布式计算 大数据
【大数据技术Spark】DStream编程操作讲解实战(图文解释 附源码)
【大数据技术Spark】DStream编程操作讲解实战(图文解释 附源码)
109 0
|
4月前
|
Java Shell 分布式数据库
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
134 0
|
4月前
|
分布式计算 Java 大数据
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
558 0
|
4月前
|
SQL 分布式计算 数据库
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
190 0
|
4月前
|
分布式计算 大数据 Scala
【大数据技术Hadoop+Spark】Spark RDD创建、操作及词频统计、倒排索引实战(超详细 附源码)
【大数据技术Hadoop+Spark】Spark RDD创建、操作及词频统计、倒排索引实战(超详细 附源码)
192 1
|
4月前
|
分布式计算 Java Scala
Spark-Adaptive编译和打包
Spark-Adaptive编译和打包
28 0
Spark-Adaptive编译和打包
|
4月前
|
分布式计算 Java Hadoop
Spark3.3.0源码编译补充篇-抓狂的证书问题
Spark3.3.0源码编译补充篇-抓狂的证书问题
37 0
|
4月前
|
分布式计算 Java 测试技术
肝Spark源码的若干骚操作
肝Spark源码的若干骚操作
41 0
|
4月前
|
分布式计算 安全 Java
Spark 编译出现 InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Spark 编译出现 InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
110 0
|
4月前
|
分布式计算 Java 程序员
Spark3.0源码编译打包
Spark3.0源码编译打包
30 0