Hello World (hadoop-eclipse插件安装与测试)

来源:互联网 发布:厦门第一医院网络挂号 编辑:程序博客网 时间:2024/04/30 23:12

写在前面:

文章内容为2015年年初准备毕业设计时随手记录的笔记


注:

相关压缩包、文件丢到了:http://pan.baidu.com/s/1ntKGg0D 


工具:

Win 8

Eclipse 4.4

Hadoop 2.5.2

hadoop-eclipse-plugin-2.5.2.jar


正文:

插件选择:

根据论坛的文章,版本要求比较严格,所以下载了2.5.2的插件:hadoop-eclipse-plugin-2.5.2.jar


插件安装:

直接把jar包丢到%ECLIPSE_HOME%\plugins下,然后启动eclipse


配置及测试:

Window -> Preferences 找到 Hadoop


Windows系统上的hadoop只需要把安装包解压即可,如下图:


接下来在view中找到mapreduce


调出窗口,在空白处右键创建新的location:

Map/Reduce(V2) Master的Port应该是mapred-site.xml中配置的mapreduce.jobtracker.http.address,因为看到V1里用的就是mapred-site.xml中mapred.job.tracker的配置端口,在V2中就对应到了这个。

DFS Master的Port是在core-site.xml中设置的。

User name这里比较关键,自己的笔记本默认的Administrator的名字是MXMxz,所以这个窗口打开的时候默认也是MXMxz,在网上看步骤的时候有看到说把系统管理员的名字改成hadoop(这个也是根据自己hadoop集群搭建时,linux主机、hadoop的用户名),于是自己在用户账户这个里面改了一下:

本以为就OK了,结果有两个地方出错:

0. eclipse里创建location的时候这个user name忘了改;

1. 系统管理员的名字还有一层,如下图所示:

这个是已经改好之后的样子,之前在用户帐户那里改的是"全名",把那个"名称"改了之后再次重启电脑,才彻底OK。

关于用户名这个只是个插曲,但也耽误了不少时间。


接下来创建好了location,切换到map/reduce模式:


在workspace里就能看到创建好的location了:


=======================昏割线=======================


接下来是所谓的WordCount代码的测试:


new一个Map/Reduce工程:


创建类org.apache.hadoop.examples.WordCount:

从hadoop-2.5.2-src中拷贝覆盖(hadoop-2.5.2-src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples\WordCount.java)


创建log4j.properties文件:(这段都是网上随便copy的)

在src目录下创建log4j.properties文件,内容如下:

log4j.rootLogger=debug,stdout,Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p - %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=mapreduce_test.loglog4j.appender.R.MaxFileSize=1MBlog4j.appender.R.MaxBackupIndex=1log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%p %t %c - %m%nlog4j.logger.com.codefutures=DEBUG


在hdfs上先创建一个input,把hadoop根目录下的README.txt上传(在hadoop-2.5.2目录下执行)

bin/hadoop fs -mkdir -p input

bin/hadoop fs -copyFromLocal README.txt input


设置下运行的相关变量:


设置下输入和输出:


=======================昏割线=======================


接下来就是。。。见证。。。各种报错的时刻:
<具体的报错信息和解决方法直接看:这篇博客>
首先是报空指针(问题2),查了一下有介绍这个问题,说是hadoop2.0以上因为没有把winutils.exe编译进来,顺便又看到题主说后续的一个报错,根据答案,知道还缺了一个hadoop.dll文件。去网上下载了和版本相同的,文件都换好之后,环境变量里配置了HADOOP_HOME,然后重启电脑。
再次执行,提示还有这个空指针问题,详见问题3,临时先copy了源代码修改了一下。
再次执行,内存溢出。。继续随手百度,说把执行时的JVM设置下:


再次执行:


OK,顺利结束。

0 0
原创粉丝点击