Windows下搭建Spark源码阅读与调试环境
来源:互联网 发布:东芝移动硬盘加密软件 编辑:程序博客网 时间:2024/05/17 12:53
了解和使用Spark有一段时间了,但是对Spark的一些原理和内部机制了解的不够深入,故打算研读一下Spark源码。今天首先介绍一下Spark源码阅读与调试环境的搭建。
开发工具安装
首先是一些必要的工具的安装,这里不一一介绍了,请读者自行提前安装好:(以下工具版本可自行选择,但是要符合Spark版本环境安装要求,可以参考官方文档)
- Java1.8
- Scala 2.11.11
- Maven 3.3.9
- Git 2.7.2
- Intellij IDEA 2017.1.1
源码获取与编译
从Spark官方Github仓库中获取源码
本文这里基于Spark 2.1.0这个版本进行讲解,故先从Github仓库中获取这个版本的源码,git执行命令如下图所示:
如果想获取Spark最新的开发版本,可以执行一下git命令:
# Master development branchgit clone git://github.com/apache/spark.git
等待下载完成,得到Spark 2.1.0源码
得到源码后对源码进行编译,Spark官方文档给出了基于SBT和Maven的编译方式,这里采用Maven方式编译。在编译之前,首先需要对Maven的相关参数进行配置,以确保编译过程中不会出错,在Maven安装目录下找到bin/mvn.cmd文件,打开在
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
后面添加如下设置:
MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
另外,如果你的JDK版本为JDK7的话,还需要在MAVEN_OPTS中添加额外的配置:
-XX:MaxPermSize=512M
设置好界面:
以上参数配置过程Linux系统下也可以不做,其实Spark中Maven脚本会帮你自动设置好相关参数,可以到Spark源码目录中查看文件:/build/mvn;配置如下图所示:
设置好相关参数之后切换目录到Spark源码根目录下面,开始编译Spark源码:
mvn -DskipTests clean package
这一步执行真的是错误多多啊,下面列出遇见的错误以及解决办法:
错误1:javac returned nonzero exit code ,debug一下,更加准确的信息是:javac returned exit code:2,仔细查看错误发现如下信息:
看到这里我才意识到应该是中文路径识别乱码的问题,于是调整Spark源码位置,将其放置于英文路径下,果然上述错误不在出现了。
错误2:java.io.IOException:cannt run program “bash”
Spark编译需要在bash环境下,直接在windows环境下编译会报不支持bash错误,这里利用git的bash窗口进行编译,解决了上述问题。
修正以上两个错误之后,终于编译成功,界面如下:
源码导入与测试运行
将上述编译成功后的源代码导入到Intellij IDEA,作为一个工程打开。以下部分解决方案参考了一片博文,原文地址:http://www.open-open.com/lib/view/1481511790315
导入源代码到IDEA
选择File-open-{sparkdir}/pom.xml,选中open as a project,然后等待完成,界面如下:
测试运行
选择Spark自带的example例子运行测试,测试结果如下:
测试结果出错,找不到Flume相关源代码:
解决方案:
File -> Project Structure -> Modules -> Sources 1. 把 target目录加入Sources(点击蓝色Sources) 2. 把子目录sink也加入Sources;
参考下图进行配置:
再次运行测试程序,这一步编译时间较长,请耐心等待。编译依然出错,这是例子程序缺少jar包造成的:
解决方案:添加依赖的jar包,这些jar包是之前maven编译时产生的:
File -> Project Structure -> Modules -> spark-examples_2.11 -> Dependencies 添加依赖 jars -{sparkdir}/assembly/target/scala-2.11/jars/
再运行例子程序即可看到成功的输出界面:
- Windows下搭建Spark源码阅读与调试环境
- windows下搭建Spark1.6源码调试阅读环境
- Spark-IDEA源码阅读环境搭建(Windows)
- Spark源码阅读环境搭建[Windows版]
- windows环境下编译spark源码和搭建源码调试环境
- spark源码阅读环境搭建
- 搭建Spark源码阅读环境
- Spark源码之路(一):绝对靠谱,Windows下用IDEA搭建源码阅读环境
- Spark2.0源码阅读---spark源码编译与IDEA导入搭建阅读环境
- Intellij IDEA搭建Spark源码阅读环境
- spark idea 源码阅读环境搭建
- Spark-2.0 搭建源码阅读环境
- 配置spark源码阅读windows环境
- windows环境下搭建spark
- windows下spark环境搭建
- windows下搭建spark环境
- Windows下使用sbt打造Intellij Idea环境下Spark源码阅读环境
- window+idea+spark+debug windows下spark开发调试环境搭建
- JAVA新手入门
- SpringMVC入门篇(四)处理器映射器和处理器适配器使用配置
- IOS UI学习 ScrollView中Touch事件作用子视图
- 如果重填高考志愿,哪些科技专业值得选
- android 转后台坚持
- Windows下搭建Spark源码阅读与调试环境
- 隐私政策
- -----模板spfa+邻接表,spfa+链式前向星
- Scut Modle Entity Protobuf 原型Proto文件
- MDK ARM中__weak关键字的使用
- mysql简单介绍一对一,一对多,多对多关系处理办法
- JS闭包
- hessian发布的接口如何测试
- UVa 1210 连续素数