Spark从入门到精通第三课:Spark源码编译 && spark客户端简单搭建

本文详细介绍了如何编译Spark源码,包括编译前的准备工作和遇到的报错分析,以及Spark客户端的安装步骤。在编译过程中遇到了maven-jar-plugin的错误,导致部分模块构建失败,需要解决MojoExecutionException问题。
摘要由CSDN通过智能技术生成

1、编译spark源码的前置要求

    Maven 3.39 or newer
    java 8+
    scala    
    scala-2.11.12.tgz
    git
   

2、编译



1、安装java配置环境变量
    略

2、安装scala配置环境变量
        export SCALA_HOME=/opt/apps/scala-2.12.4
        export PATH=$PATH:$SCALA_HOME/bin

3、安装git
    yum -y install git 

4、安装maven配置环境变量
        export MAVEN_HOME=/opt/apps/apache-maven-3.3.9
        export PATH=$PATH:$MAVEN_HOME/bin
        export MAVEN_OPTS="-Xms256m -Xmx1024m"

【5】、如果有需要,可以更改maven仓库位置,默认在${user.name}/.m2/repository/下
    vi ${MAVEN_HOME}/conf/setting.xml
        <localRepository>/home/hadoop/maven_repo</localRepository>
        这个目录事先创建

【6】、如果编译使用的是cdh版本,则还要再pom.xml文件的
    <repositories></repositories>中添加cdh仓库地址
    <repository>
        <id>cloudera</id>
        <name>cloudera Repository</name>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
    </repository>

7、由于在编译过程中回去检验各种软件的版本等信息,耗费大量时间,故我们可以指定使用的软件的版本。(spark解压文件根目录执行)
    vi dev/make-distribution.sh(在spark源码包解压目录下执行)
     注销掉 VERSION=$() 这13行,添加以下内容  
        VERSION=2.3.1
        SCALA_VERSION=2.12.4
        SPARK_HADOOP_VERSION=2.8.1
        SPARK_HIVE=1    #启用hive

8、设置maven内存
    export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
    不设置可能报错如下:
        [INFO] Compiling 203 Scala sources and 9 Java sources to 
                /Users/me/Development/spark/core/target/scala-2.12/classes...
        [ERROR] Java heap space -> [Help 1]


9、在编译过程中如果本身虚拟机内存太小,导致无法自动给jvm分配足够的内存
    会出现“Could not create the Java Virtual Machine”的报错,
    我们可以手动指定jvm内存来避免这个报错。
vi /etc/environment,添加
    export  JAVA_OPTIONS="-Xms256m -Xmx512m -Xmn256m"
    如果还不行,适当调大这个值

10、
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二百四十九先森

你的打赏是我努力的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值