您的位置:首页 > 编程语言 > Java开发

搭建Eclipse运行hadoop案例的环境

2017-02-25 00:53 519 查看
Eclipse 运行Hadoop的案例目前我尝试的是如下三种,
在Eclipse上对本地文件进行操作;
在Eclipse上对远程的Hadoop文件进行操作;
将eclipse中的文件打包成jar包通过shell命令运行。


下面分别对这两种方式进行描述:

**基本环境的准备**

1、JDK,Eclipse的安装在这里就不重复说明了。

2、本人运行的环境是
win10 ,Eclipse Version: Mars.2 Release (4.5.2), hadoop 2.7.2

3、Hadoop伪分布式在linux环境的安装,如果不知怎么安装可参照本人如下链接


[hadoop2.7.2伪分布式的安装]( Hadoop 伪分布式的快速搭建 )

—-这一步为在Eclipse上对远程的Hadoop文件进行操作做准备。

4、将hadoop.dll 复制到C:\Windows\System32 这个路径
将winutils.exe复制到hadoop的bin目录中。下载Hadoop2以上版本时,在Hadoop2的bin目录下没有winutils.exe
hadoop对应的这两个插件以及hadoop-eclipse-plugin-2.7.2.jar
可通过如下地址来下载:


(hadoop2.7.2的winutils.exe、hadoop.dll、hadoop-eclipse-plugin-2.7.2.jar)

一、Hadoop的本地安装以及本地运行模式的配置步骤

1.下载 Hadoop安装包(本人下的是hadoop-2.7.2.tar.gz)

2.将压缩包解压

3.hadoop对应的eclipse插件的安装
下载hadoop对应的Eclipse插件(本人下载的是hadoop-eclipse-plugin-2.7.2.jar),
将该插件放到eclipse安装目录的plugins目录中,重启Eclipse




5.配置hadoop的环境变量
HADOOP_HOME:D:\MyResource\SoftWare\hadoop-2.7.2
path:%HADOOP_HOME%\bin

6.新建hadoop项目,如图所示:




这里会生成对应的hadoop项目,并会自动关联上hadoop运行所需要的jar包,
在这里找来wordCount.java复制上去,
为了让代码有输出日志因而将log4j.properties加入到代码中

如下图所示:




运行代码前设置项目输入与输出路径




注意: 其中,input/test.txt 得事先创建好,output则不需要事先创建好。

7.运行项目结果如下所示:




附上test.txt,运行过程以及结果图




统计的结果如下所示:




过程:



log4j.properties


### \u8bbe\u7f6e###
log4j.rootLogger = INFO,stdout,D,E

### \u8f93\u51fa\u4fe1\u606f\u5230\u63a7\u5236\u62ac ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### \u8f93\u51faDEBUG \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=log/message.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = log/message.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### \u8f93\u51faERROR \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=log/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = log/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n


二、在本地配置运行结果正常后,进行远程文件的处理

1.显示Map/Reduce,具体操作如下所示:
window---> perspectives --> open perspectives --> other --> Map/Reduce
2.配置本地连接远程的hadoop文件系统,具体操作
window -->show view --> Other --> Map/Reduce Location
配置上相关信息:




配置完结果如下图所示则连接远程服务器正常




3.对远程服务器的文件进行处理,操作如下所示:
a.先在远程服务器创建输入目录与文件 test.txt
b.运行时指定输入与输出路径,配置如下所示:




4、由于这个test.txt文件与在本地执行时的test.txt文件一致,因而这两种方式运行的结果应该是一样的,经核查运行结果一致。


三、将jar包通过命令行运行hadoop案例

通过Eclipse将wordCount程序打包成对应的jar包,
通过如下命令执行
hadoop jar wordcount.jar hadoopdemo.WordCount /usr/input/test.txt /usr/output2
结果如下所示:
![这里写图片描述](https://img-blog.csdn.net/20170225004745925?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzg1MDI3Nw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)




与上述两种方式运行结果进行对比,三者结果一致,说明环境搭建完成了。

上述步骤都是本人边操作边记录的,如有错误欢迎指出。

如果要在Eclipse中删除远程文件与文件夹可通过修改 hdfs-site.xml 文件的权限便可,如下所示

<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop eclipse