网友分享,拿来共享一下

这是Hadoop学习全程记录第2篇,在这篇里我将介绍一下如何在Eclipse下写第一个MapReduce程序。

新说明一下我的开发环境:

操作系统:在windows下使用wubi安装了ubuntu 10.10 
hadoop版本:hadoop-0.20.2.tar.gz 
Eclipse版本:eclipse-jee-helios-SR1-linux-gtk.tar.gz

为了学习方便这个例子在“伪分布式模式”Hadoop安装方式下开发。

第一步,我们先启动Hadoop守护进程。 
如果你读过我第1篇文章Hadoop学习全程记录——hadoop 入门应该比较清楚在“伪分布式模式”下启动Hadoop守护进程的方法,在这里就不多说了。

第二步,在Eclipse下安装hadoop-plugin。

1.复制 hadoop安装目录/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar 到 eclipse安装目录/plugins/ 下。

2.重启eclipse,配置hadoop installation directory。 
如果安装插件成功,打开Window-->Preferens,你会发现Hadoop Map/Reduce选项,在这个选项里你需要配置Hadoop installation directory。配置完成后退出。 

3.配置Map/Reduce Locations。 
在Window-->Show View中打开Map/Reduce Locations。 
在Map/Reduce Locations中新建一个Hadoop Location。在这个View中,右键-->New Hadoop Location。在弹出的对话框中你需要配置Location name,如myubuntu,还有Map/Reduce Master和DFS Master。这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。如:

Map/Reduce Master

Java代码   
  1. localhost
  2. 9001

DFS Master

Java代码   
  1. localhost
  2. 9000

配置完后退出。点击DFS Locations-->myubuntu如果能显示文件夹(2)说明配置正确,如果显示"拒绝连接",请检查你的配置(我的配置完成之后只看到了一个文件夹tmp,不知道是什么原因)。 

第三步,新建项目。 
File-->New-->Other-->Map/Reduce Project 
项目名可以随便取,如hadoop-test。 
复制 hadoop安装目录/src/example/org/apache/hadoop/example/WordCount.java到刚才新建的项目下面。

第四步,上传模拟数据文件夹。 
为了运行程序,我们需要一个输入的文件夹,和输出的文件夹。输出文件夹,在程序运行完成后会自动生成。我们需要给程序一个输入文件夹。

1.在当前目录(如hadoop安装目录)下新建文件夹input,并在文件夹下新建两个文件file01、file02,这两个文件内容分别如下:

file01

Java代码   
  1. Hello World Bye World

file02

Java代码   
  1. Hello Hadoop Goodbye Hadoop

2.将文件夹input上传到分布式文件系统中。

在已经启动Hadoop守护进程终端中cd 到hadoop安装目录,运行下面命令:

Java代码   
  1. bin/hadoop fs -put input input01

这个命令将input文件夹上传到了hadoop文件系统了,在该系统下就多了一个input01文件夹,你可以使用下面命令查看:

Java代码   
  1. bin/hadoop fs -ls

第五步,运行项目。

1.在新建的项目hadoop-test,点击WordCount.java,右键-->Run As-->Run Configurations 
2.在弹出的Run Configurations对话框中,点Java Application,右键-->New,这时会新建一个application名为WordCount 
3.配置运行参数,点Arguments,在Program arguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如:

Java代码   
  1. hdfs://localhost:9000/user/panhuizhi/input01 hdfs://localhost:9000/user/panhuizhi/output01

这里面的input01就是你刚传上去文件夹。文件夹地址你可以根据自己具体情况填写。 

4.点击Run,运行程序。

点击Run,运行程序,过段时间将运行完成,等运行结束后,可以在终端中用命令:

Java代码   
  1. bin/hadoop fs -ls

查看是否生成文件夹output01。

用下面命令查看生成的文件内容:

Java代码   
  1. bin/hadoop fs -cat output01/*

如果显示如下,恭喜你一切顺利,你已经成功在eclipse下运行第一个MapReduce程序了。

Java代码   
  1. Bye 1
  2. Goodbye 1
  3. Hadoop  2
  4. Hello   2
  5. World   2

Hadoop学习全程记录——在Eclipse中运行第一个MapReduce程序相关推荐

  1. linux及hadoop入门,Hadoop学习全程记录——Hadoop入门

    开始学习Hadoop,从今天起,想把我学习hadoop全过程记录一下.我会记录在学习过程中碰到的问题.困难以及解决方法等等,如果你也是刚学hadoop,我们可以一起讨论. 学了几天,好像入门了,在这里 ...

  2. Win系统下用Eclipse中运行远程hadoop MapReduce程序出现Permission denied错误

    Win系统下用Eclipse中运行远程hadoop MapReduce程序出现报错 WARNING: job_local1833185613_0001 org.apache.hadoop.securi ...

  3. floodlight java_floodlight学习系列(1)——在Eclipse中安装运行floodlight

    环境:ubuntu 16.04 前提:已经成功安装了JDK和Ecplise 1.安装floodlight apt-get install build-essential default-jdk ant ...

  4. Solr基础,在Eclipse中运行Solr

    Solr我还是个菜鸟,写这一些文章只是记录一下最近一段时间学习Solr的心得. Solr是什么? 最近我学Solr的时候,一直看到一句话,Solr 是一个可供企业使用的.基于 Lucene 的开箱即用 ...

  5. 【Javaweb学习笔记】在Eclipse中创建Web项目

    [Javaweb学习笔记]在Eclipse中创建Web项目 哈喽大家好,这里是Java框架学习笔记专栏第二期 本期内容--在Eclipse中创建Web项目 前期回顾: 第一期--schema约束 笔者 ...

  6. eclipse中运行tomcat提示端口被占的4种解决方案

    eclipse中运行tomcat提示端口被占的4种解决方案 参考文章: (1)eclipse中运行tomcat提示端口被占的4种解决方案 (2)https://www.cnblogs.com/wyhl ...

  7. 在eclipse中运行工程时 出现出现ConnectionProperties 的解决方法

    输入如下代码 System .out .println("hellow word!!"); 在eclipse中运行工程时 出现 ConnectionProperties Prope ...

  8. 在Apache Hadoop(多节点群集)中运行Map-Reduce作业

    我们将在这里描述在多节点集群中的Apache Hadoop中运行MapReduce Job的过程. 要在多节点群集中设置Apache Hadoop ,可以阅读设置Apache Hadoop多节点群集 ...

  9. java中eclipse中运行程序的快捷键是什么?

    java中eclipse中运行程序的快捷键是什么? 因帅被追杀灬  |  浏览 3393 次  我有更好的答案 2015-02-02 15:35 最佳答案 CTRL+F11,采纳哦  本回答由提问者推 ...

最新文章

  1. vscode+MinGW+cmake设置轻量ide
  2. Objective-C中把URL请求的参数转换为字典
  3. 中国程序员如何升职加薪,也许我们该学学印度人
  4. MAC上最好用的免费全能音乐播放器VOX 2.6.5
  5. C语言DFS算法的实现(附完整源码)
  6. 技术管理—管理书籍推荐
  7. python基础_格式化输出(%用法和format用法)
  8. 教室信息管理系统mysql_教师信息管理系统(方式一:数据库为oracle数据库;方式二:存储在文件中)...
  9. LAMP/LNMP环境下:phpinfo php连接mysql php执行mysql查询 测试代码及响应
  10. 【推荐】会被快速否决的9种求职者.
  11. 不可忽视的IT运维管理
  12. 【HDU 5869】Different GCD Subarray Query【区间不同 gcd 个数】
  13. 设计模式:UML类图、策略模式、单例模式、工厂模式、观察者模式
  14. 基于组态软件的35kV变电站监控系统设计简介
  15. 沟通技巧-《非暴力沟通》书中的精髓:改变对待冲突和矛盾的看法,通过非暴力沟通的方式,可以使生活更加美好。
  16. 路由器和交换机的转发过程
  17. 教程|Word/WPS永久更改默认背景颜色
  18. 34个非常实用的JS一行代码
  19. 有孚网络协办“大数据助力精准医疗产业论坛”北京站圆满落幕
  20. aqs clh java_并发编程——详解 AQS CLH 锁

热门文章

  1. 【错误记录】Android Studio 配置 AspectJ 报错 ( Failed to create Jar file C:\xxx\aspectjtools-1.8.10.jar. )
  2. 【计算机网络】网络层 : 移动 IP 技术 ( 移动节点 | 本地代理 | 外部代理 | 永久地址 | 转交地址 | 移动 IP 通信过程 )
  3. Linux服务源码安装后开机自启动04-php-fpm
  4. Microsoft .NET Pet Shop 4.0 学习之旅(三) - 项目的引用关系2
  5. 【MFC】在CHtmlView中准确判断页面加载完成
  6. mybatis入门-第一个程序
  7. mysql 锁-比较详细、深入的介绍
  8. TCP/IP学习笔记-如何理解
  9. entity.Database.SqlQuery() 和entity.Database.SqlCommand()
  10. 汇编指令中的字母会区分大小写吗?(除了字符型数据,其他地方都不区分)