Spark1.6源码编译

一、前言

    不论是spark还是hadoop、flume等,都建议新手在学习时自己进行手动编译,在第一次编译时肯定会遇到很多问题,大家要摆正心态,一定会有所收货。本文将中重点讲解apache版本和cdh版本下的spark编译。

二、环境介绍

    操作系统:centos6.5(建议内存4G以上)
    jdk:1.7.0_67
    spark版本:1.6.1
    hadoop版本:2.5.0或者cdh2.5.0
    maven版本:3.3.3
    scala版本:2.10.4

三、遇到问题时的解决办法

    在这里先把可能在编译过程中遇到的问题进行说明,方便大家在编译时查阅。
    1.编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,按ctrl+c,重新运行编译命令。 
    2.如果出现缺少了某个文件的情况,则要先清理maven(使用命令 mvn clean) 再重新编译。 
    3.有可能在编译过程中不小心编译中断,再次编译时会报如下错误:
    [info] Compiling 3 Java sources to /opt/tools/workspace/spark-1.6.1/tags/target/scala-2.10/classes...
    [info] Error occurred during initialization of VM
    [info] java.lang.Error: Properties init: Could not determine current working directory.
    [info]  at java.lang.System.initProperties(Native Method)
    [info]  at java.lang.System.initializeSystemClass(System.java:1119)
    这种情况下,需要jps看一下当前jvm进程,然后kill掉即可

下民我们就要进编译了,祝大家好运。

四、编译apache版本的spark

1. 概述
    spark的编译方式有三种:SBT编译、maven编译和打包编译make-distribution.sh,笔者采用的是第三种方式。
2. 下载源码
    从apache-spark的网站下载源码: 
    http://archive.apache.org/dist/spark/

这里写图片描述

3.准备
1)由于编译apache的spark,首先在maven的setting文件中增加阿里的源,
<mirror>
    <id>aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun repository</name>
    <url>
        http://maven.aliyun.com/nexus/content/groups/public/
    </url>
</mirror>

2)解压下载好的源码,并进行配置,
tar -zxvf spark.1.6.1.tgz -C /opt/tools/workspace/
编辑目录中的make-distribution.sh,在130行左右进行修改,修改信息如下:
    VERSION=1.6.0
    SCALA_VERSION=2.10.4
    SPARK_HADOOP_VERSION=2.5.0
    SPARK_HIVE=1
同时,修改spark里面的pom文件,把scala版本修改成2.10.4

3)放置依赖服务
本步骤大家可以不进行配置,但是下载时间较长,笔者曾经下载了2个多小时,所以还是建议大家配置好。
spark编译还依赖于scala和zinc,spark-1.6.1依赖scala2.10.4和zinc-0.3.5.3,解压后放到spark源码下的build目录下
tar -zxvf /opt/software/scala-2.10.4.tgz -C /opt/tools/workspace/spark-1.6.1/build/
  tar -zxvf /opt/software/zinc-0.3.5.3.tgz -C /opt/tools/workspace/spark-1.6.1/build/
4.开始编译
    编译命令:
    ./make-distribution.sh --tgz \
    -Phadoop-2.4 \
    -Dhadoop.version=2.5.0 \
    -Pyarn \
    -Phive -Phive-thriftserver

    编译开始:

这里写图片描述

这里写图片描述

    编译完成

这里写图片描述

    到spark-core的目录下查看一下

这里写图片描述

五、编译cdh版本的spark

1. 下载源码
    从apache-spark的网站下载源码: 
    http://archive.cloudera.com/cdh5/cdh/5/
    各种配置步骤和apache的版本都一致
2.准备
    1)由于编译apache的spark,首先在maven的setting文件中增加cloudera的源,
<mirror>
    <id>cloudera</id>
    <mirrorOf>central</mirrorOf>
    <name>clouderarepository</name>
    <url>
        https://repository.cloudera.com/artifactory/cloudera-repos/
    </url>
</mirror>

2)解压下载好的源码,并进行配置,
tar -zxvf spark.1.6.1.tgz -C /opt/tools/workspace/
编辑目录中的make-distribution.sh,在130行左右进行修改,修改信息如下:
    VERSION=1.6.0
    SCALA_VERSION=2.10.4
    SPARK_HADOOP_VERSION=cdh-2.5.0
    SPARK_HIVE=1
同时,修改spark里面的pom文件,把scala版本修改成2.10.4

3)放置依赖服务
和apache版本的一致
4.开始编译
    编译命令:
    ./make-distribution.sh --tgz \
    -Phadoop-2.4 \
    -Dhadoop.version=2.5.0-cdh5.3.6 \
    -Pyarn \
    -Phive -Phive-thriftserver

    编译过程不再赘述,期望对大家有所帮助
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值