在eclipse中修改spark2.1源码

首先声明下 这是我在eoe上转载的 写的很好就摘抄了。。。
参考:
http://cn.soulmachine.me/blog/20130611/
http://scala-ide.org/download/current.html

1.安装Scala
2.安装sbt
3.安装scala IDE http://scala-ide.org/download/current.html (要注意eclipse和Scala IDE的版本匹配问题,网页上有说明)
4.下载Spark源代码: Git clone git://github.com/apache/spark.git
http://spark.apache.org/downloads.html
5.启动sbt:
windows下:cmd——cd $spark——sbt

Linux下:cd $spark——sbt/stb

6.生成eclipse工程文件: 在sbt提示符下输入eclipse
7.用eclipse导入生成的工程文件,并加入lib_managed目录下的jar包
第一步 下载源码

sv
n下载,下载地址:
spark:http://svn.igniterealtime.org/svn/repos/spark/trunk
openfire:http://svn.igniterealtime.org/svn/repos/openfire/trunk
smack:http://svn.igniterealtime.org/svn/repos/smack/trunk

新建文件夹,命名spark—》右键SVN—》export spark有70M的样子
第二步 eclipse导入spark源码

1、打开eclipse,选择File——New——Project——Java Project。输入项目工程名spark,Contents中选择 “Create project from existiing source”,然后把spark文件所在的文件夹加进去。点击“finish”,完成。

2、导入新建工程完成后,在apple、linux、battleships出现了错误,网上找出说“完成Spark工程后,会产生编译错误,删除有错误的文件夹”,试了不行,删除了一个包就没有再出现错误,但是工程图标那里还有一个错误的标志,编译能完成但跑不起来,在网上没再找到别的方法解决,于是选择把出错的文件删除,编译完成。

步骤:

1、点击Window——Show View——Ant;

2、右击Ant面板,选择Add Buildfiles;

3、展开Spark——build文件夹,选择build.xml,点击”OK”;

4、在Ant面板,展开Spark,双击”release[default]”;

5、等一段时间,会提示”Build Successful”。

6、生成target文件夹,重新编译时,要手工删除此文件夹。

注意:如果没有显示“Build Successful”,则再次双击“release[default]”.

3、运行设置

1、点击Run——Run Configurations

2、 点击“Main”
Name填写:spark

Main class:org.jivesoftware.launcher.Startup(启动类)
勾选Stop in main
3、点击Classpath标签页
选择User Entries ,使得Advanced..按钮变的可用.点击Advanced按钮.在弹出来的Advanced Options窗口,选择Add Folders,再点OK,在Folder Selection窗口选择spark::src::resources 文件夹,点击OK。
选择Common标签页,勾选Debug,Run前面的框。点击Apply,再点击Close。

解决方案二:
Eclipse下开发调试环境的配置该小节中使用的各项工具分别为:Windows10+EclipseJavaEE4.4.2+Scala2.10.4+Sbt0.13.8+Maven3.3.3,测试的Spark版本为2.1.0。
1.配置IDE:选择菜单项Help->Installnewsoftware,添加站点http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site,选择安装ScalaIDEforEclipse以及ScalaIDEPlugins。对于标准版Eclipse,还需要安装单独的Maven插件。出于配置简便考虑,也可以使用Scala官方提供的已将所有依赖打包好的ScalaIDE。特别的,由于项目本身存在一些错误,请先暂时关闭Project->BuildAutomatically的功能以节省时间。

2.下载Spark源代码:创建空目录,执行如下语句:git clone https://github.com/apache/spark.git除了使用git指令之外,也可以从Spark的Github页面下载打包好的源代码。

3.将源码转化为Eclipse项目:进入源代码根目录,执行如下语句:sbteclipse。Sbt执行期间会下载Spark所需要的所有jar包,因此该步骤会花费很长的时间。其中有一些jar包需要使用网络代理等方法才能下载。

4.导入项目至Eclipse:选择菜单项File->Import,并选择General->ExistingProjectsintoWorkspace,项目的根路径选择源代码的根路径,导入所有项目(共有25个)。

5.修改Scala版本:进入Preference->Scala->Installations,添加机器上安装的Scala2.10.4(选择lib目录)。由于该版本Spark(1.4.0)是在Scala2.10.4的环境下编写的,需要在Eclipse中修改项目使用的Scala版本。方法为:全选项目,右键选择Scala->SettheScalaInstallation并选择相应的Scala版本。

6.为old-deps项目添加ScalaLibrary:右键选择old-deps项目,选择Scala->AddScalaLibrarytoBuildPath。

7.Maveninstall以生成spark-streaming-flume-sink所需要的类:首先将源代码根目录中的scalastyle-config.xml文件复制到spark-streaming-flume-sink项目根目录中,而后在Eclipse中打开该项目,右键选择pom.xml文件,选择Runas->Maveninstall。

8.修改spark-sql与spark-hive的包错误:由于源代码的包设置有错误,为此需要将类文件移至正确的包中对于spark-sql项目,分别选择src/test/java中的test.org.apache.spark.sql以及test.org.apache.spark.sql.sources包中的所有类,右键选择Refactor->Move,移动至org.apache.spark.sql以及org.apache.spark.sql.sources包。对于spark-hive项目,分别选择src/test/java中的test.org.apache.spark.sql.hive以及test.org.apache.spark.sql.hive.execution包中的所有类,移动至org.apache.spark.sql.hive以及org.apache.spark.sql.hive.execution包。

9.编译所有项目:打开Project->BuildAutomatically功能,等待所有项目编译成功。

10.检查是否安装成功:将core项目中的src->main->resources->org文件夹拷贝到examples项目中的target->scala-2.10->classes中。而后执行examples项目中的org.apache.spark.examples.SparkPi程序,并设置其jvm参数为-Dspark.master=local

你可能感兴趣的:(bigdata)