zoukankan      html  css  js  c++  java
  • Windows环境编译Spark源码

    一、下载源码包

      1. 下载地址有官网和github:

      http://spark.apache.org/downloads.html

      https://github.com/apache/spark

      Linux服务器上直接下载:wget https://archive.apache.org/dist/spark/spark-2.4.0/spark-2.4.0.tgz

      2. 解压源码

    二、解压环境

      需要maven、jdk、git、scala、hadoop环境,并配置环境变量。

    二、使用Maven编译Spark

      先找到解压后的spark文件里的pom.xml把maven、jdk、scala、hadoop改成当前安装的版本。如图:

      maven库的地址建议换成阿里的地址:http://maven.aliyun.com/nexus/content/groups/public

      在编译过程需要保证编译机器的是联网的,以保证Maven从网上下载其依赖包。另外,编译前需要设置JVM内存大小,否则在编译过程中,会由于默认内存小而出现内存溢出的错误。编译执行脚本如下,其中,参数-P表示激活依赖的程序及版本,-Dskip Tests表示编译时跳过测试环节。

      1、设置maven内存的环境变量

        MAVEN_OPTS=-Xmx2g -XX:MaxPermSize=2048M -XX:ReservedCodeCacheSize=2048M

      2、右击spark-2.4.0文件夹,选择Git Bash here,弹出git窗口,输入以下命令:

      ./build/mvn -Pyarn -Phadoop-2.8.4 -Dhadoop.version=2.8.4 -DskipTests clean package

      整个编译过程编译了约29个任务,每个版本的数量不同。如果是已经下载依赖包的情况,则编译耗时1分钟左右。由于编译过程中需要下载较多的依赖包,因此整个编译时间取决于网速,最终编译完成后的文件夹大约为899MB。整个编译可能会很长,要耐心等待。

      最终成功结果如下图:

       如果在编译过程中出现了错误,解决后再重新执行编译命令:

      错误1:Failed to collect dependencies at org.jpmml:pmml-model:jar:1.2.15

        Could not resolve dependencies for project org.apache.spark:spark-core_2.11:jar:2.4.0

      这两种都是依赖包下载失败,为了避免重新跑脚本还会失败浪费时间,建议使用idea加载jar包,或者到maven官网手动下载好放到maven本地库里。

      错误2:有时第二次编译时,会删除源码包里面target里面的文件失败,可以手动删除,或者重新解压个新的spark源码文件,再编译。

      

  • 相关阅读:
    topK问题 前K个高频元素 leetcode692
    反转链表 leetcode206
    关于IO多路复用的简单整理
    两数之和 leetcode1
    使用 jenkins 发布 前端 项目
    CentOS7 部署 nacos 集群
    JWT
    keepalived 的 unicast 单播模式
    使用 keepalived 高可用 nginx
    翻转二叉树 leetcode226
  • 原文地址:https://www.cnblogs.com/huanshilang/p/10855758.html
Copyright © 2011-2022 走看看