eclipse中开发hadoop

来源:互联网 发布:100个创意淘宝礼品店铺 编辑:程序博客网 时间:2024/05/16 08:51

前言

我从来没用过比Eclipse还强大的IDE了,如果各位想开发Java程序的话,Eclipse是个首选。如果你习惯在VI下编程的,Eclipse的各种辅助功能会让你很高兴。比如自动的显示编译错误,查找一个变量在哪些地方应用过,生成代码框架,强大的重构功能,断点调试,等等。如果你还在为测试一个Hadoop程序大费周折,那么,我告诉你,运用Eclipse的Hadoop插件,能够轻松的在本地运行你的Hadoop程序。把在本地测试通过的程序,再放到运行压力很大的Hadoop分布式环境中运行,不是很有意义吗?下述文档具体介绍下配置开发以及测试。

[编辑]配置

1. 下载资源

2. 安装JDK

3. 解压Eclipse

4. 解压mapreduce_tools_EclipsePlugin(这个是IBM的Hadoop Eclipse插件,开源的),用下面的plugins文件夹覆盖Eclipse下的plugins文件夹。

5. 安装Cygwin(因为运行时会用到whoami命令),安装的东西只要是默认的就可以。

6. 在系统环境变量的Path中,加入一条Cygwin/bin,比如C:\cygwin\bin(安装完成之后再打开eclipse)

7. 解压缩Hadoop 

8. 打开Eclipse

9. 选择window->Preference->Hadoop Home Directory,然后选择Hadoop的根目录,点击ok,如下图:

Image:Image001.png

现在所有的配置都完成了。

[编辑]开发

1. 新建Hadoop工程New->other->MapReduce Project,如下图:
Image:Image003.png

2. 后面就是标准的Java工程编辑过程,你可以新建,编辑类。

[编辑]测试运行

1. 在要运行的类上面右键选择run as->run configurations,选择Arguments,如下图:

Image:Image005.png

Program arguments中是传入main方法的参数 VM arguments中写入:-Xms1024m -Xmx1024m(这个是设置运行时Heap的大小,如果默认不设置的话,会outofmemory)

2. 点击Run就可以运行了,在consol中会输出运行信息,如下图:

 Image:Image007.png

3. 以后再次运行时,只要在类编辑器中按快捷键:Alt-shift-x-j,就可以了。

4. 这个是在单机模式下测试,测试样例不要太大。有些问题在这边不会显示出来,比如这边可以读写本地的文件,但在分布式环境中,要么读取分布式系统中的文件,要么你把那个文件打入jar包,这样就可以当做本地文件来运行。下面给出一个例子,在jar包中读取文件,FileName是文件名,直接放在jar包的根层目录。 InputStream fstream = Thread.currentThread() .getContextClassLoader().getResourceAsStream(FileName);

5. 该插件还支持分布式模式运行,本人没有去研究过。

[编辑]打包

我们需要在分布式环境中运行,这时需要jar包,Eclipse提供了打包功能 选择工程,右键->Export->Java->JAR file,选择保存地址就可以了。如下图所示。

Image:Image009.png

[编辑]断点测试(Eclipse的这个功能不错,让我们很容易能定位错误)

1. 设置断点:在编辑器中想设断点的行的最左边双击就可以了(再次双击为撤销),下图在457行设置了断点。

Image:Image011.png

2. 选择Debug模式运行,然后选择工具栏总的Debug按钮:下图最左边的

Image:Image014.jpg

3. Debug界面如下:

Image:Image016.jpg
原创粉丝点击