在Eclipse中执行、配置Hadoop
版权全部: zhe-jiang.he@hp.com 严禁转载!
1.安装插件
准备程序:
eclipse-3.3.2(这个版本号的插件仅仅能用这个版本号的eclipse)
hadoop-0.20.2-eclipse-plugin.jar (在hadoop-0.20.2/contrib/eclipse-plugin文件夹下)
将hadoop-0.20.2-eclipse-plugin.jar 拷贝到eclipse/plugins文件夹下,重新启动eclipse。
2.打开MapReduce视图
Window -> Open Perspective -> Other 选择Map/Reduce,图标是个蓝色的象。
3.加入一个MapReduce环境
在eclipse下端,控制台旁边会多一个Tab,叫“Map/Reduce Locations”,在以下空白的地方点右键,选择“New Hadoop location...”,如图所看到的:

在弹出的对话框中填写例如以下内容:
Location name(取个名字)
Map/Reduce Master(Job Tracker的IP和port,依据mapred-site.xml中配置的mapred.job.tracker来填写)
DFS Master(Name Node的IP和port,依据core-site.xml中配置的fs.default.name来填写)

4.使用eclipse对HDFS内容进行改动
经过上一步骤,左側“Project Explorer”中应该会出现配置好的HDFS,点击右键,能够进行新建目录、删除目录、上传文件、下载文件、删除文件等操作。
注意:每一次操作完在eclipse中不能立即显示变化,必须得刷新一下。

5.创建MapReduceproject
5.1配置Hadoop路径
Window -> Preferences 选择 “Hadoop Map/Reduce”,点击“Browse...”选择Hadoop目录的路径。
这个步骤与执行环境无关,仅仅是在新建project的时候能将hadoop根文件夹和lib文件夹下的全部jar包自己主动导入。
5.2创建project
File -> New -> Project 选择“Map/Reduce Project”,然后输入项目名称,创建项目。插件会自己主动把hadoop根文件夹和lib文件夹下的全部jar包导入。
5.3创建Mapper或者Reducer
File -> New -> Mapper 创建Mapper,自己主动继承mapred包里面的MapReduceBase并实现Mapper接口。
注意:这个插件自己主动继承的是mapred包里旧版的类和接口,新版的Mapper得自己写。
Reducer同理。
6.在eclipse中执行WordCount程序
6.1导入WordCount
WordCount
6.2配置执行參数
Run As -> Open Run Dialog... 选择WordCount程序,在Arguments中配置执行參数:/mapreduce/wordcount/input /mapreduce/wordcount/output/1
分别表示HDFS下的输入文件夹和输出文件夹,当中输入文件夹中有几个文本文件,输出文件夹必须不存在。

6.3执行
Run As -> Run on Hadoop 选择之前配置好的MapReduce执行环境,点击“Finish”执行。

控制台会输出相关的执行信息。

6.4查看执行结果
在输出文件夹/mapreduce/wordcount/output/1中,能够看见WordCount程序的输出文件。除此之外,还能够看见一个logs文件夹,里面会有执行的日志
在Eclipse中执行、配置Hadoop的更多相关文章
- Hadoop在eclipse中的配置
在安装完linux下的hadoop框架,实现完所现有的wordCount程序,能够完美输出结果之后,我们开始来搭建在window下的eclipse的环境,进行相关程序的编写. 在网上有很多未编译版本, ...
- git在eclipse中的配置 转载
git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...
- Maven环境变量配置和在Eclipse中的配置
1.Maven环境变量配置 M2_HOME :变量值为maven的安装目录 在path后添加%M2_HOME%\bin; 检查JDK,maven配置的cmd命令 echo %JAVA_HOME% ja ...
- How to Configure Eclipse for Python --- 在eclipse中如何配置pydev
From: http://www.rose-hulman.edu/class/csse/resources/Eclipse/eclipse-python-configuration.htm Pytho ...
- Git在eclipse中的配置
1:git在eclipse中的配置 windows - >preferences->team->git->configuration 点击add Entry key值:输入 u ...
- 在eclipse中执行sql的编码问题
症状-分析: 刚才在eclipse中执行sql文件,发现数据进入数据库的时候总是乱码 后来查看MySQL的编码设置,全是UTF8,没问题,sql文件本身也是UTF8的编码 并且,使用MySQL的CMD ...
- maven的安装、路径配置、修改库文件路径和eclipse中的配置、创建maven工程。
注:本文来源于:杨四郎2018 <maven的安装.路径配置.修改库文件路径和eclipse中的配置.创建maven工程> 一.maven的安装 首先,先到官网去下载maven.这里是官 ...
- Openfire3.9.3源代码导入eclipse中开发配置指南
这篇文章向大家介绍一下,如何把openfire3.9.3源码导入eclipse中,编译并启动的详细过程. 首先得感谢这篇文章的作者,http://www.micmiu.com/opensource/o ...
- [转]git在eclipse中的配置
一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EGit 二_使用EGIT前的配置 配置个 ...
随机推荐
- 判断有几个checkbox被选中
//判断是否有选中的checkbox的值是否为空 var number = $("input[type='checkbox']:checked").length; if(numbe ...
- 【echats】echats悬浮事件频繁触发、过于灵敏、快速抖动等异常现象,适用与tooltip有关
方案:transitionDuration设为0: 如图,发现关闭tooltip后现象消失,猜测与tooltip有关. 经过仔细观察,鼠标在快速移动时tooltip会延迟移动,就是这个时间差,让鼠标悬 ...
- Angular入门教程三
4.6指令(directive) 通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的. 模板中可以使用的东西 ...
- 基础架构之spring cloud基础架构
这篇文章是给公司设计的微服务基础架构,包括架构设计.部署流程.部署架构.开发Tip等等.这里分享出来,如果对看官们有点用,我就非常的高兴了. 首页 2. 架构设计 3. 部署流程 4. 部署架构 5. ...
- java中方法调用在内存中的体现
在java中,方法以及局部变量(即在方法中声明的变量)是放在栈内存上的.当你调用一个方法时,该方法会放在调用栈的栈顶.栈顶的方法是目前正在执行的方法,直到执行完毕才会从栈顶释放.我们知道,栈是一种执行 ...
- c# 设计模式 之:工厂模式之---工厂模式
1.uml类图: 实现和依赖关系: 实现: SportFactory.JeepFactory.HatchbackFactory 实现 IFactory 接口 SportCar.JeepCar.Hatc ...
- Sqlserver新建随机测试数据
USE Test --使用数据库Test(如果没有则需要新建一个) ----1.新建一个users表 create table users( uId int primary key identity( ...
- package.json作用
这个文档的内容是你必须要知道的,它必须是JSON文本格式.每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元 ...
- The associated COM server does not support ActiveX Document embedding
winfrom 通过dsoframer实现读取excel文件报错: System.Reflection.TargetInvocationException: Exception has been th ...
- Java实例---简单的上课管理系统
源码分析 Course.java package com.ftl.many2many; import java.util.*; public class Course { private int cr ...