美文网首页
大数据之 Spark 编译打包

大数据之 Spark 编译打包

作者: etrols | 来源:发表于2019-01-16 14:09 被阅读0次

    hadoop 版本:hadoop-2.6.0-cdh5.9.3.tar.gz

    第一步,打开 Spark 官网:https://spark.apache.org

    第二步,点击 Download,如下图:

    Spark-Download

    第三步,下载 Spark 源码,如下图:

    Spark-源码链接

    第四步,编译源码

    解压 Spark

    tar -zxvf spark-2.4.0.tgz
    

    进入 Spark 源码目录下

    cd spark-2.4.0
    

    首先使用 mvn 命令编译将 jar 包下载下来

    mvn -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop-version=hadoop-2.6.0-cdh5.9.3 -DskipTests clean package
    

    命令参数解析

    --tgz  //打包成 tgz 格式
    -Pyarn  //使用 yarn Profile
    -Phadoop-2.6  //使用 hadoop-2.6 Profile
    -Phive  //使用 hive-thriftserver Profile
    -Phive-thriftserver  //使用 hive-thriftserver Profile
    -Dhadoop-version  //指定 hadoop-version 版本信息
    

    使用 mvn 之前需要安装 maven,这里不再赘述,当然使用 Spark 源码自带 maven 可以不安装

    ./build/mvn -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop-version=hadoop-2.6.0-cdh5.9.3 -DskipTests clean package
    

    见到如下图说明成功:


    Spark 编译成功

    第五步,编译 tgz 包,可以跳过第四步

    在 spark 源码目录执行 make-distribution 编译命令

    ./dev/make-distribution.sh --name cdh5.9.3 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop-version=hadoop-2.6.0-cdh5.9.3
    

    命令参数解析

    --name  //表示打包的名称
    

    见如下表明打包成功:


    spark 打包

    在 spark 源码目录下有 spark-2.4.0-bin-cdh5.9.3.tgz 生成,如下图:


    spark tgz 包位置

    可能程序的错误及解决方案

    1. [ERROR] Failed to execute goal on project spark-launcher_2.11: Could not resolve dependencies for project org.apache.spark:spark-launcher_2.11:jar:2.4.0: Could not find artifact org.apache.hadoop:hadoop-client:jar:2.6.0-cdh5.9.3 in nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public) -> [Help 1]

    在 spark 源码目录下的 pom 文件添加 CDH maven 仓库

    <repository>
        <id>cloudera</id>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>
    

    如下图所示:


    CDH 仓库
    1. 有时编译的机器内存不够,一般推荐4G以上的内存
      添加以下环境变量
    export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
    

    3.如果编译的是Scala版本是 2.10,需要在 spark 源码目录下先执行如下的脚本

    ./dev/change-scala-version.sh 2.10
    

    相关文章

      网友评论

          本文标题:大数据之 Spark 编译打包

          本文链接:https://www.haomeiwen.com/subject/zwfmdqtx.html