zoukankan      html  css  js  c++  java
  • Spark-1.5.2之改动源代码后的自己定义打包编译

    Spark-1.5.2之自己定义打包编译,基于当前最新版本号的spark源代码1.5.2版本号。

    自己编译spark是改动spark源代码的必备条件,改动的源代码自己定义打包生效后才干公布到生产环境中。

    本地具体介绍Spark-1.5.2编译的过程


    1、下载Spark-1.5.2的源代码

    在官网下载,选择 一个合适自己网络的镜像

    wget http://mirrors.noc.im/apache/spark/spark-1.5.2/spark-1.5.2.tgz

    解压代码

    tar zxfv spark-1.5.2.tgz

    2、安装maven打包工具

    首先说,官网一般推荐使用sbt, sbt比較适合于编译scala的project,maven一般适合于java的project。可是。sbt的源常常訪问不到,甚至要翻*,你们懂得。

    maven的源基本国内都能訪问。

    wget http://apache.dataguru.cn/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

    解压安装包

    tar zxfv apache-maven-3.3.9-bin.tar.gz

    环境变量设置。依据自己安装的路径来配置

    export  MAVEN_HOME=/opt/software/spark/apache-maven-3.3.9
    export  PATH=$PATH:$MAVEN_HOME/bin
    export  MAVEN_OPTS="-Xmx3g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
    须要设置maven的jvm參数,打包spark还是蛮用内存的。

    此外还需配置java与scala的环境变量

    #java
    export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
    export JAVA_BIN=$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$JAVA_HOME/bin:$PATH
    export JAVA_LIBRARY_PATH=/opt/cloudera/parcels/CDH/lib/hadoop/lib/native
    
    
    #scala
    export SCALA_HOME=/opt/modules/scala-2.10.4
    export PATH=$PATH:$SCALA_HOME/bin


    3、打包编译Spark-1.5.2

    正式打包前,我们做一个事情,改动源代码,比較简单的改动了

     /** Print a welcome message */
      override def printWelcome() {
        import org.apache.spark.SPARK_VERSION
        echo("""Welcome to
          ____              __
         / __/__  ___ _____/ /__
        _ / _ / _ `/ __/  '_/
       /___/ .__/\_,_/_/ /_/\_   version %s compiled by kwu 20160101
          /_/
             """.format(SPARK_VERSION))



    把三个路径下的启动scala文件的提示改动了


    进入源代码文件夹,运行打包命令

    cd spark-1.5.2
    ./make-distribution.sh --tgz -Phadoop-2.6 -Pyarn -DskipTests -Dhadoop.version=2.6.0 -Phive -Phive-thriftserver

    基于hadoop2.6的打包编译,并添加了hive的支持。然后就是漫长的等待,比我们当时编译hadoop源代码还要久。最后 出现


    最终所有SUCCESS后。不要看上面显示是11分钟。实际上中间因为网络问题。失败了好几次。不断地重试成功了。

    注意,假设某些jar包下载不了。能够手动到提示的maven路径下下载。放到路径下:

    /root/.m2
    添加打包编译的成功率


    最后执行后执行一下自己编译的Spark吧



    看到没,打上自己的标签了。大笑

  • 相关阅读:
    Centos7 安装配置Elasticsearch
    单例模式
    Eclipse上部署maven项目
    单点登录
    各eclipse插件的作用
    eclipse中安装Subclipse插件
    往idea中导入已有的web项目
    maven 项目部署
    【转帖】算法刷题网站
    混淆矩阵-MATLAB代码详解
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7251459.html
Copyright © 2011-2022 走看看