在前面一篇文章中介绍了如果在完全分布式的环境下搭建Hadoop0.20.2,现在就再利用这个环境完成开发。
首先用hadoop这个用户登录linux系统(hadoop用户在前面一篇文章中创建的),然后下载eclipse的tar.gz包到/home/hadoop/这个目录下,直接解压缩,于是就会存在/home/hadoop/eclipse这个目录。在开发之前需要将hadoop0.20.2目录下面的一个jar复制到eclipse下面去。(注:在上一篇文章中我将hadoop0.20.2文件夹修改成了hadoop,哈哈,所以下面的目录不要晕哦!)
第一步:插件复制
首先寻找到hadoop下面的eclipse-plugin的jar,位置在/home/hadoop/hadoop/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar
将其赋值到刚才解压的eclipse目录下,目录在/home/hadoop/eclipse/plugins/,打开这个目录后,粘贴即可。
jar包复制好后即可双击eclipse目录下的eclipse图标,打开eclipse进行开发。
第二步:准备开发环境
打开eclipse后,首先windows->preferences,打开如下图界面,按照下图红框提示区域进行配置,其中hadoop的安装位置即hadoop下载后解压的位置。
紧接着,同样还是windows->show view->other,在打开的页面中输入map,以便找到Map/Reduce Locations,如下图
点击OK后,会在eclipse开发工具的下方会显示Map/Reduce Locations 在这个区域里面点击鼠标右键,可以创建一个new Hadoop Location,方便我们可以管理hdfs目录。
点击"New Hadoop Location"后会弹出一个配置页面,其中参数配置如下图中的标识,点击Finish后,即可在开发环境的左边出现一个hadoop目录导航树。
hadoop中hdfs目录中的文件可以在user文件夹下面查看到。此时,基本的环境配置都已经完成,下面即可进行正式的开发了。
第三步:java代码编写
下面我们简单的阐述下,要完成的功能,在test_2.txt中我们记录了一些手机号在不同时刻拨打的电话,有些是打给10086,有些是打给120,还有些其他的号码,现在我们需要完成的工作就是统计,比如10086被哪些号码打过,还有就是120被哪些号码打过,所以,我们的期望数据和目标数据分别如下图:
首先需要新建一个项目:File->New->Project... 在弹出的窗体中选中Map/Reduce Project,点击Next,输入Project Name 这里是MyHadoop002,然后点击Finish,此时在开发环境的左边可以看到新建的项目,展开新建的项目MyHadoop002,选择src,右键,新建一个class,在弹出的页面中输入Name(我在这里输入是Test_2)后点击Finish(Package选择性填写)。
Test_2.java里面的代码如下:
第四步:运行程序
代码编写结束,最后一步既是运行,点击Run->Run Configurations ,弹出的页面中,左边是导航,右边是参数配置界面,首先点击坐标导航中的Java Application,点击"新增"图标,会在Java Application下面生成与Class Name同名的application,这里是Test_2.如下图.
这时候,需要配置Java代码中在main函数中用到的两个参数,即文档的读取路径,以及reduce后文档的输出路径,在main函数中我们有用到args[0]、args[1],所以,这里我们需要输入hdfs路径。
输入完成后点击“Run”,如果没有问题的话,此时即可正常运行了,让我们来看下运行的结果
到此,一个简单的Linux下利用Eclipse开发hadoop的程序即完成了。希望都可以从中学到知识..........