Hello World (hadoop-eclipse插件安装与测试)
2016-03-13 22:32
197 查看
写在前面:
文章内容为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文件,内容如下:
在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,顺利结束。
文章内容为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,R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=mapreduce_test.log log4j.appender.R.MaxFileSize=1MB log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n log4j.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,顺利结束。
相关文章推荐
- JAVA SE——反射
- Java 并发
- 《Java程序设计》 第2周学习总结
- 20145316《Java程序设计》第二周学习总结
- java面向对象的三种特征简述(随笔)
- Java基础复习String对象创建的分析
- 粗谈《Java与模式》一书
- java day02 交换数据
- leetcode:Integer to Roman 【Java】
- 20145331 《Java程序设计》第2周学习总结
- Spring分布式事务实现
- 关于struts2框架学习
- Java集合源码学习笔记(三)LinkedList分析
- leetcode:Longest Common Prefix 【Java】
- java中数组常见的排序问题整理
- WebService-CXF-Spring 基于web的cxf(三)------参考传智播客视频
- 模仿mybatis,用jdk proxy实现接口
- Java day02 类型转换
- Struts2实现文件的上传和下载
- Java单链表排序方法