spark2.3.1 源码编译详解

1. 前置要求(地址我给也贴下来,方便大家快速上手)

  注意:我个人的环境是centos6.5,编译的是 spark-2.3.1-bin-2.6.0-cdh5.7.5 

  版本:scala 2.11.8 -- maven 3.3.9 -- java 1.8 -- spark 2.3.1 -- hadoop 2.6.0-cdh5.7.5

  1. 安装 apache-maven-3.3.9(或者更高)   --->  http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

    tar -zxf apache-maven-3.3.9-bin.tar.gz -C /ruozedata/app/     --->   配置环境变量(这个就不多说了)    
  2. 安装jdk(spark 2.2.0 以后编译必须是maven3.3.9 或者更新 以及 java8 +)  ;java8 下载地址:http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz?AuthParam=1535218413_45f78876c90c00129126180f38645634
  3. 安装 scala 地址: https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
  4. 配置环境变量,和 java maven 一样
  5. source /etc/profile     使得环境变量生效
  6. java -version     mvn -v     scala 进控制台,验证是否安装成功
  7. 进 maven 的 conf/settings.xml 修改maven 的仓库路径(虚拟机默认是在C盘,我的是/ruozedata/hadoop/maven-repo)
    1. <localRepository>/ruozedata/hadoop/maven-re</localRepository>
  8. git 后期编译可能会用上,因为编译脚本里面有写,所以安装一下: yum install git
  9. (大家安装软件的目录自己根据个人情况定就行)

2.下载编译spark

  1. spark源码包下载地址:https://archive.apache.org/dist/spark/spark-2.3.1/spark-2.3.1.tgz
  2. wget https://archive.apache.org/dist/spark/spark-2.3.1/spark-2.3.1.tgz
  3. tar -zxf  -C /(自己的安装目录)
  4. 因为编译的方法有多种,开发使用可以用  ./build/mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -DskipTests clean package 这种编译,它不能编译成包,故此这里不多做介绍,大家下来可以自己看官网了解一下
  5. 接下来我介绍的这种方法是可以编译成 tgz 包的,编译需要时间有点长,所以.......
  6.  为了编译快点,进入刚才解压spark的目录: vim dev/make-distribution.sh,把下面的这些注释掉:
    1. #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)
  7. 然后在下面加入这几行:(这个1. 不是,我不会排版,这能这样)
    1. VERSION=2.3.1
      SCALA_VERSION=2.11
      SPARK_HADOOP_VERSION=2.6.0-cdh5.7.5
      SPARK_HIVE=1
  8. 在spark pom.xml 里面添加一个仓库:
  9. <repository>
        <id>cloudera</id>
        <name>cloudera Repository</name>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
        </repository>
    1. 配置这个是为了少踩坑
  10. maven 里面默认的仓库访问可能有问题,所以在maven conf/settings.xml  里面加入阿里的仓库:
    1. <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
          </mirror>
  11. 在spark 的根目录下执行命令:./dev/make-distribution.sh \
    --name 2.6.0-cdh5.7.5 \
    --tgz \
    -Dhadoop.version=2.6.0-cdh5.7.5 \
    -Phadoop-2.6 \
    -Phive -Phive-thriftserver \
    -Pyarn
  12. (过程中网不能太差,有时候会因为网的原因需要重新编译),如果重新编译,jps 看一下,有一个Nailgun进程,kill -9 杀掉,然后重新执行命令
  13. 等待编译成功,会在spark目录生成一个:

    spark-2.2.0-bin-2.6.0-cdh5.7.0.tgz

 

 转载请注明出处:https://blog.csdn.net/zilianxiaozhu/article/details/82057344

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值