软件准备

(1)Java 1.8
(2)Scala 2.11.12(需要在IDEA中安装)
(3)Maven 3.8.2(需要在IDEA中配置)
(4)Git 2.33
以上软件需要安装好,并进行环境配置。


(5)spark 2.4.3 源码(官网可下载)

编译源码

(1)修改MAVEN_OPTS,增加Maven编译时内存的大小:

在Maven安装目录下找到bin/mvn.cmd文件,打开在文件中添加

MAVEN_OPTS="-Xmx2g -XX:MetaspaceSize=2G -XX:ReservedCodeCacheSize=2G"

(2)运行Git中的git-bash.exe,然后在相应的spark目录下直接执行如下命令,进行源码编译:(耗时较长)

$ > mvn -Pyarn -Phadoop-2.7 -Pspark-ganglia-lgpl -Pkinesis-asl -Phive -DskipTests clean package


源码编译的结果如下:

搭建IDEA阅读环境

(1)在IDEA界面直接open刚刚编译的源码文件

(2)点击build开始构建(耗时较长)


(3)使用IDEA进行编译

①为Maven工具设置JVM参数,命令如下:

-XX:PermSize=2G


②在Maven面板中进行编译(耗时较长)

编译完成后的目标Jar文件存放在assembly/target/scala-2.11/jars目录下,将其添加到项目Example Module。添加步骤如下:

(4)运行Master和Worker(方便调试)
①点击IDEA的“Run -> Edit Confgurations”菜单,在弹出的界面中单击左上角的加号,先添加Master的运行环境配置如下:

添加完成后点击运行Master进程。

出现上图说明运行成功了,然后从上面蓝色的框可以看出Master启动于spark://172.18.224.1:7077地址,而它的WebUI启动于http://windows10.microdone.cn:8080地址。(windows10.microdone.cn即为172.18.224.1)
②点击IDEA的“Run -> Edit Confgurations”菜单,在弹出的界面中单击左上角的加号,先添加Worker的运行环境配置如下:

添加完成后点击运行Worker进程。
至此,已经完成了IDEA源码阅读环境的搭建

③查看Mater和Worker的WebUI界面

Mater的WebUI界面

Worker的WebUI界面

Spark源码学习之IDEA源码阅读环境搭建相关推荐

  1. spring5.3.x源码阅读环境搭建

    spring5.3.x源码阅读环境搭建-gradle构建编译 文章目录 spring5.3.x源码阅读环境搭建-gradle构建编译 一.依赖工具 二.下载源码 三.开始构建 四.编译源码 五.源码测 ...

  2. ardupilot java_基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建

    基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...

  3. 4.2.10 Kafka源码剖析, 阅读环境搭建, broker启动流程, topic创建流程, Producer生产者流程, Consumer消费者流程,

    目录 4.1 Kafka源码剖析之源码阅读环境搭建 4.1.1 安装配置Gradle 4.1.2 Scala的安装和配置 4.1.3 Idea配置 4.1.4 源码操作 4.2 Kafka源码剖析之B ...

  4. Mybatis 源码阅读环境搭建

    Mybatis源码阅读环境搭建 前言 一.下载mybatis的源码 二.编译源码 三.创建测试项目 前言     mybatis源码阅读环境搭建还是比较简单的,接下来我们讲解一下如何搭建该源码阅读环境 ...

  5. Spring Boot 2.0系列文章(四):Spring Boot 2.0 源码阅读环境搭建

    前提 前几天面试的时候,被问过 Spring Boot 的自动配置源码怎么实现的,没看过源码的我只能投降��了. 这不,赶紧来补补了,所以才有了这篇文章的出现,Spring Boot 2. 0 源码阅 ...

  6. Fuzz学习笔记(一)—— WinAFL环境搭建与基本使用

    WinAFL学习笔记(一)-- WinAFL环境搭建 环境配置 安装步骤 1)安装git 2)安装CMake 3)编译dynamorio 编译32位 编译64位 4)编译winafl 编译32位 编译 ...

  7. 51单片机学习历程——硬件准备&开发环境搭建

    系列文章目录 第一章 51单片机学习历程(1)--开发环境搭建 第二章 51单片机学习历程(2)--建立新的工程 第三章 51单片机学习历程(3)--点亮一颗LED 第四章 51单片机学习历程(4)- ...

  8. 好好学习 天天编程—C语言之环境搭建(一)

    好好学习 天天编程-C语言之环境搭建(一) 一.安装Visual Studio 2010及以上版本 二.搭建环境 三.编写代码 四.运行代码 Ctrl+F5 或者Ctrl+Fn+F5 如果界面不出来这 ...

  9. 深度学习图像识别:基础知识与环境搭建

    深度学习图像识别:基础知识与环境搭建 1. 深度学习的基本原理 什么是人工智能? 通过学习掌握了某中技能的机器,我们认为它具备了人工智能 什么是深度学习? 深度学习的概念源于人工神经网络的研究: 含多 ...

最新文章

  1. 从零开始编写自己的C#框架(16)——Web层后端父类
  2. es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解
  3. electron 托盘图标闪烁_从零到一,用 Electron 开发桌面效率工具
  4. 配置React的Babel 6和Webpack 2环境
  5. java中配置bean_Spring中基于Java的配置@Configuration和@Bean用法
  6. Scala:Function1、Function2
  7. Springboot 2.0.0单元测试
  8. 21岁MIT本科生推动数学重要问题新进展,曾获阿里数学竞赛奖
  9. 【C语言】找出1000以内可以被3整除的数
  10. linux npm 修改 源_多线程m3u8下载工具,支持windowsamp;amp;linux;两个羊毛线报
  11. 人工智能?你需要了解的内容和AI学习路线
  12. Git超详解八 git工作流
  13. 模型--vgg16.npy下载
  14. Cocos Creater 获取和设置世界坐标
  15. mysql数据库没有导出权限_mysql导出没有数据库
  16. Java--集合框架--Map集合、 HashMap和Hashtable的区别、 Collections(集合工具类)
  17. 算法提高 字符串跳步
  18. 客户端Connection reset by peer怎么办?——可能只是服务端挂了
  19. 找出阿里云RDS数据库的IP地址
  20. 真实诈骗案例积累(一)

热门文章

  1. 【 MATLAB 】DFT性质讨论(一)线性、循环反转、共轭与实序列的对称性
  2. JAVA面向对象的总结(函数重载与数组)
  3. Linux学习4之常用命令--文件搜索命令
  4. 第四百零三节,python网站在线支付,支付宝接口集成与远程调试,
  5. 程序员:如何成为一个全栈的工程师?
  6. iOS开发 开发者证书申请及上架流程
  7. cacti 添加redis监控(远程服务器)
  8. 烂泥:nginx同时支持asp.net与php
  9. Jenkins安装plugin
  10. memcached的应用和兼容程序