IDEA 搭建 Spark 源码 (Ubuntu)】的更多相关文章

版本:Spark 2.4.3/JDK 1.8/Scala 2.11.0 1.选择Spark版本.压缩包下载. 2.IDEA中左下角Terminal下输入: mvn -DskipTests clean package 3.Maven工程导入到IDEA中 问题: 在Lifecycle下点击clean.install后出现: Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:compile (scala-compile…
转载自https://github.com/linbojin/spark-notes/blob/master/ide-setup.md 搭建Spark源码研读和代码调试的开发环境 工欲善其事,必先利其器,第一篇笔记介绍如何搭建源码研读和代码调试的开发环境. 一些必要的开发工具,请自行提前安装: scala 2.11.8 sbt 0.13.12 maven 3.3.9 git 2.10.2 IntelliJ IDEA 2016.3 (scala plugin) 本人使用macOS 10.12,所有…
1.参考. 利用IDEA工具编译Spark源码(1.60~2.20) https://blog.csdn.net/He11o_Liu/article/details/78739699 Maven编译打包spark(2.1.0)源码及出现问题的解决方案(win7+Intellij IDEA) https://blog.csdn.net/u011464774/article/details/76704785 通过maven将spark源码导入ideahttps://blog.csdn.net/pcn…
本文旨在帮助那些想要对Spark有更深入了解的工程师们,了解Spark源码的概况,搭建Spark源码阅读环境,编译.调试Spark源码,为将来更深入地学习打下基础. 一.项目结构 在大型项目中,往往涉及非常多的功能模块,此时借助于Maven进行项目.子项目(模块)的管理,能够节省很多开发和沟通成本.整个Spark项目就是一个大的Maven项目,包含着多个子项目.无论是Spark父项目还是子项目,本身都可以作为独立的Maven项目来管理.core是Spark最为核心的功能模块,提供了RPC框架.度…
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3868718.html 本文主要分享一下如何构建Spark源码分析环境.以前主要使用eclipse来阅读源码的,但是针对用scala写的spark来说不是太方便.最近开始转向使用idea 首先http://www.jetbrains.com/idea/下载安装idea 选择File->Settings->Plugins->Install JetBrain plugin安装scala插件…
首先声明下 这是我在eoe上转载的 写的很好就摘抄了... 第一步 下载源码 svn下载,下载地址:spark:http://svn.igniterealtime.org/svn/repos/spark/trunkopenfire:http://svn.igniterealtime.org/svn/repos/openfire/trunksmack:http://svn.igniterealtime.org/svn/repos/smack/trunk 新建文件夹,命名spark--->右键SVN…
Apache Spark源码剖析(全面系统介绍Spark源码,提供分析源码的实用技巧和合理的阅读顺序,充分了解Spark的设计思想和运行机理) 许鹏 著   ISBN 978-7-121-25420-8 2015年3月出版 定价:68.00元 304页 16开 编辑推荐 Spark Contributor,Databricks工程师连城,华为大数据平台开发部部长陈亮,网易杭州研究院副院长汪源,TalkingData首席数据科学家张夏天联袂力荐 1.本书全面.系统地介绍了Spark源码,深入浅出,…
欢迎转载,转载请注明出处,徽沪一郎. 概述 Scala越来越流行, Spark也愈来愈红火, 对spark的代码进行走读也成了一个很普遍的行为.不巧的是,当前java社区中很流行的ide如eclipse,netbeans对scala的支持都不算太好.在这种情况下不得不想到编辑器之神emacs,利用emacs+ensime来打造scala编程环境. 本文讲述的步骤全部是在arch linux上,其它发行版的linux视具体情况变通. 安装scala pacman -S scala 安装sbt pa…
说在前面的话   重新试多几次.编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,按ctrl+c,重新运行编译命令. 如果出现缺少了某个文件的情况,则要先清理maven(使用命令 mvn clean) 再重新编译.  Spark源码编译的3大方式 1.Maven编译 2.SBT编译  (暂时没) 3.打包编译make-distribution.sh 前言 Spark可以通过SBT和Maven两种方式进行编译,再通过make-distribution.sh脚本生成部署包.…
Spark Contributor,Databricks工程师连城,华为大数据平台开发部部长陈亮,网易杭州研究院副院长汪源,TalkingData首席数据科学家张夏天联袂力荐1.本书全面.系统地介绍了Spark源码,深入浅出,细致入微2.提供给读者一系列分析源码的实用技巧,并给出一个合理的阅读顺序3.始终抓住资源分配.消息传递.容错处理等基本问题,抽丝拨茧4.一步步寻找答案,所有问题迎刃而解,使读者知其然更知其所以然 内容简介 书籍计算机书籍 <Apache Spark源码剖析>以Spark…
在这里我们不需要搭建独立的Spark集群,利用Yarn Client调用Hadoop集群的计算资源. Spark源码编译生成配置包: 解压源码,在根去根目录下执行以下命令(sbt编译我没尝试) ./make-distribution.sh --hadoop 2.4.0 --with-yarn --tgz --with-hive 几个重要参数 --hadoop :指定Hadoop版本 --with-yarn yarn支持是必须的 --with-hive 读取hive数据也是必须的,反正我很讨厌Sh…
不多说,直接上干货! 说在前面的话   重新试多几次.编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,按ctrl+c,重新运行编译命令.  如果出现缺少了某个文件的情况,则要先清理maven(使用命令 mvn clean) 再重新编译.  Spark源码编译的3大方式 1.Maven编译 2.SBT编译  (暂时没) 3.打包编译make-distribution.sh 注意的是,spark1.6.X 需要搭配1.7.x的jdk和maven3.3.3版本    spar…
1.环境搭建 基础环境配置 jdk+idea+maven+scala2.11.以上工具安装配置此处不再赘述. 2.源码导入 官网下载spark源码后解压到合适的项目目录下,打开idea,File->open 找到源码文件夹,选中spark-parent的pom文件,确定-> open as a project.接下来就是漫长的依赖解析过程. 3.依赖解析完成后,得到一个漂亮的spark项目 4. 尝试编译.最近需要用到spark-sql相关的东西,我们先尝试编译一下spark-sql,在ide…
spark 源码编译 scala 版本2.11.4 os:ubuntu 14.04 64位 memery 3G spark :1.1.0 下载源码后解压 1 准备环境,安装jdk和scala,具体参考:http://www.cnblogs.com/chenfool/p/3858930.html 2 编译 其实spark 官网上说得挺详细的,但是使用官网介绍的方法,在下载依赖包时,被天朝墙了,导致总是下载不成功.幸好还有一个maven的编译方法,下面网址是spark官网介绍如何使用maven编译s…
引言 Spark 现在无疑是大数据领域最热门的技术之一,读者很容易搜索到介绍如何应用 Spark 技术的文章,但是作为开发人员,在了解了应用的概念之后,更习惯的是打开开发环境,开发一些应用来更深入的学习 spark 知识,在遇到问题的时候,也希望能够深入调试 Spark 源代码来解决问题.但是由于 Spark 技术本身较新,对于初学者,在构建开发调试环境的过程中,总会遇到这样那样的问题.而其使用的 Scala 语言,SBT 构建工具相对于 Java 语言,Maven 构建工具而言,也比较小众,因…
在学习一门新语言时,想必我们都是"Hello World"程序开始,类似地,分布式计算框架的一个典型实例就是WordCount程序,接触过Hadoop的人肯定都知道用MapReduce实现WordCount,当前内存分布式计算框架Spark因为其计算速度之快,并且可以部署到Hadoop YARN中运行,已经受到各大公司的青睐,Spark社区提供了一些编译好的jar包,但是其中没有适配Hadoop-2.2.0的jar包,为了避免版本问题,需要自己编译指定hadoop版本的Spark ja…
许久没有写博客了,没有太多时间,最近陆续将Spark源码的一些阅读笔记传上,接下来要修改Spark源码了. 这个类继承于TaskScheduler类,重载了TaskScheduler中的大部分方法,是Task调度的实际操作. 1.检测推测执行间隔,最大响应时间,每个task的CPU数. 2.指定调度模式SchedulingMode. 3.setDAGScheduler:设置任务调度的对象DAGScheduler. 4.initialize:初始化backend接口和资源池pool,并给资源池配置…
(1)下载Spark源码 到官方网站下载:Openfire.Spark.Smack,其中Spark只能使用SVN下载,源码的文件夹分别对应Openfire.Spark和Smack. 直接下载Openfire.Smack源代码  下载地址:http://www.igniterealtime.org/downloads/source.jsp 利用SVN方式下载Spark源代码  1.为Eclipse安装Subversive插件     A 启动Eclipse     B 依次点击Help->Inst…
1. 准备工作 首先你的系统中需要安装了 JDK 1.6+,并且安装了 Scala.之后下载最新版的 IntelliJ IDEA 后,首先安装(第一次打开会推荐你安装)Scala 插件,相关方法就不多说了.至此,你的系统中应该可以在命令行中运行 Scala.我的系统环境如下: 1. Mac OS X(10.10.4) 2.JDK 1.7.79 3.Scala 2.10.4 4. IntelliJ IDEA 14 另外,最后还是建议大家开始先使用 pre-built 的 Spark,对 Spark…
Hadoop使用ant+ivy组织工程,无法直接导入Eclipse中.本文将介绍如何基于Eclipse搭建Hadoop源码环境. 准备工作 本文使用的操作系统为CentOS.需要的软件版本:hadoop-1.0.4.jdk-1.6.0_43.ant-1.9.2.eclipse3.6. 安装与配置JDK 安装Eclipse 安装与配置Ant 下载Hadoop源码 以上工作就不细说了,这些没啥难度,注意要配置好jdk和ant的环境变量. 编译源码 进入hadoop项目的根目录,在bash中执行ant…
欢迎转载,转载请注明出处,徽沪一郎. 概要 上篇博文讲述了如何通过修改源码来查看调用堆栈,尽管也很实用,但每修改一次都需要编译,花费的时间不少,效率不高,而且属于侵入性的修改,不优雅.本篇讲述如何使用intellij idea来跟踪调试spark源码. 前提 本文假设开发环境是在Linux平台,并且已经安装下列软件,我个人使用的是arch linux. jdk scala sbt intellij-idea-community-edition 安装scala插件 为idea安装scala插件,具…
欢迎转载,转载请注明出处,徽沪一郎. 楔子 在Spark源码走读系列之2中曾经提到Spark能以Standalone的方式来运行cluster,但没有对Application的提交与具体运行流程做详细的分析,本文就这些问题做一个比较详细的分析,并且对在standalone模式下如何实现HA进行讲解. 没有HA的Standalone运行模式 先从比较简单的说起,所谓的没有ha是指master节点没有ha. 组成cluster的两大元素即Master和Worker.slave worker可以有1到…
欢迎转载,转载请注明出处,徽沪一郎. 楔子 Spark计算速度远胜于Hadoop的原因之一就在于中间结果是缓存在内存而不是直接写入到disk,本文尝试分析Spark中存储子系统的构成,并以数据写入和数据读取为例,讲述清楚存储子系统中各部件的交互关系. 存储子系统概览 上图是Spark存储子系统中几个主要模块的关系示意图,现简要说明如下 CacheManager  RDD在进行计算的时候,通过CacheManager来获取数据,并通过CacheManager来存储计算结果 BlockManager…
每个框架或者应用都是为了解决某些问题才出现旦生的,没有一个事物是可以解决所有问题的.如果觉得某个框架或者应用使用很不方便,那么很有可能就是你没有将其使用到正确的地方,没有按开发者的设计初衷来使用它,当你将一个框架的优势使用到极致时一定是非常舒服和顺手的一件事.但同时也有可能衍生另一个问题,这个框架只解决了你的问题一,没有解决问题二.三等等,因此,就出现了多个框架/应用相结合的情况.比如Django + uWSGI + nginx. 本人初学python,找了一些实例进行了一些操作,以下纯属目前的…
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3879151.html 在SparkContext创建过程中会调用createTaskScheduler函数来启动TaskScheduler任务调度器,本文就详细分析TaskScheduler的工作原理: TaskScheduler会根据部署方式而选择不同的SchedulerBackend来处理 下图展示了TaskScheduler.TaskSchedulerImpl.SchedulerBackend等…
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3858065.html 为了更深入的了解spark,现开始对spark源码进行分析,本系列文章以spark 1.0.0版本源码作为分析对象.今天主要分析下standalone部署方式的启动过程 1.Spark Standalone组件 Standalone部署方式是一种典型master-slave模式,在这种模式下主要包含三个组件:Master(Cluster Manager).Worker(slave…
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3822995.html spark源码编译步骤如下: cd /home/hdpusr/workspace git clone git://github.com/apache/spark.git cd spark git checkout -b spark-1.0 v1.0.0 export  SCALA_HOME=/usr/local(随便填个路径进行) export MAVEN_OPTS="-Xmx2…
1. 官网下载源码 source code,地址: http://spark.apache.org/downloads.html 2. 使用maven编译: 注意在编译之前,需要设置java堆大小以及永久代大小,避免mvn出现内存溢出的情况. windows下设置:%MAVEN_HOME%\bin\mvn.cmd,将其中的 @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=80…
终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧.不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的.另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其实都可以通过这种方式来寻找源码入口. 先来介绍一下Spark-shell是什么? Spark-shell是提供给用户即时交互的一个命令窗口,你可以在里面编写spark代码,然后根据你的命令立即进行运算.这种东西也被叫做REPL,(Read-Eval-Print Loop)交互式开发环境. 先来粗略的…
继上次的Spark-shell脚本源码分析,还剩下后面半段.由于上次涉及了不少shell的基本内容,因此就把trap和stty放在这篇来讲述. 上篇回顾:Spark源码分析之Spark Shell(上) function main() { if $cygwin; then # Workaround for issue involving JLine and Cygwin # (see http://sourceforge.net/p/jline/bugs/40/). # If you're us…