Hadoop+eclipse运行MapReduce程序
前面,我们已经通过eclipse下安装Hadoop的插件配置好了基于Hadoop+eclipse的MapReduce开发环境。现在,我们在这个Hadoop+eclipse环境下运行MapReduce程序。
一、新建MapReduce项目
【 File】—>【new】->【Project】,选择【Map/Reduce Project】,单击下一步,设置项目名称为WordCount,确定。
在WordCount项目下,新建类,类名为WordCount,其程序内容为WordCount.java。
二、设置HDFS的输入文件
hadoop fs -mkdir input
hadoop fs -copyFromLocal WordCount.txt input
我将WordCount.java源程序的内容拷到了WordCount.txt内,并上传到Input中作为程序的输入。
三、配置eclipse的运行参数
对本项目右键->【run】->【Run Configurations】,单击中间的Arguments,并设置输入输出参数。在Program arguments栏中输入:
hdfs://master:9000/user/abc/input hdfs://master:9000/user/abc/output
其中abc是用户名,根据自己的用户名调整,可以在web方式下输入地址:master:50070后查看相关信息。
本文中的master是在localhost上,因为master可以替换成localhost。
点击【Run】或对本项目->【Run As】->【Run on Hadoop】,运行MapReduce程序。
四、查看运行结果
点击【Run】后,eclipse的输出窗口中会显示,MapReduce程序运行的状态:
15/11/23 17:47:06 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
15/11/23 17:47:07 WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).
15/11/23 17:47:07 INFO input.FileInputFormat: Total input paths to process : 1
15/11/23 17:47:07 INFO mapred.JobClient: Running job: job_local_0001
15/11/23 17:47:07 INFO input.FileInputFormat: Total input paths to process : 1
15/11/23 17:47:07 INFO mapred.MapTask: io.sort.mb = 100
15/11/23 17:47:09 INFO mapred.JobClient: map 0% reduce 0%
15/11/23 17:47:11 INFO mapred.MapTask: data buffer = 79691776/99614720
15/11/23 17:47:11 INFO mapred.MapTask: record buffer = 262144/327680
15/11/23 17:47:11 INFO mapred.MapTask: Starting flush of map output
15/11/23 17:47:12 INFO mapred.MapTask: Finished spill 0
15/11/23 17:47:12 INFO mapred.TaskRunner: Task:attempt_local_0001_m_000000_0 is done. And is in the process of commiting
15/11/23 17:47:12 INFO mapred.LocalJobRunner:
15/11/23 17:47:12 INFO mapred.TaskRunner: Task 'attempt_local_0001_m_000000_0' done.
15/11/23 17:47:12 INFO mapred.LocalJobRunner:
15/11/23 17:47:12 INFO mapred.Merger: Merging 1 sorted segments
15/11/23 17:47:12 INFO mapred.Merger: Down to the last merge-pass, with 1 segments left of total size: 2723 bytes
15/11/23 17:47:12 INFO mapred.LocalJobRunner:
15/11/23 17:47:12 INFO mapred.JobClient: map 100% reduce 0%
15/11/23 17:47:13 INFO mapred.TaskRunner: Task:attempt_local_0001_r_000000_0 is done. And is in the process of commiting
15/11/23 17:47:13 INFO mapred.LocalJobRunner:
15/11/23 17:47:13 INFO mapred.TaskRunner: Task attempt_local_0001_r_000000_0 is allowed to commit now
15/11/23 17:47:13 INFO output.FileOutputCommitter: Saved output of task 'attempt_local_0001_r_000000_0' to hdfs://master:9000/user/abc/output4
15/11/23 17:47:13 INFO mapred.LocalJobRunner: reduce > reduce
15/11/23 17:47:13 INFO mapred.TaskRunner: Task 'attempt_local_0001_r_000000_0' done.
15/11/23 17:47:13 INFO mapred.JobClient: map 100% reduce 100%
15/11/23 17:47:13 INFO mapred.JobClient: Job complete: job_local_0001
15/11/23 17:47:13 INFO mapred.JobClient: Counters: 14
15/11/23 17:47:13 INFO mapred.JobClient: FileSystemCounters
15/11/23 17:47:13 INFO mapred.JobClient: FILE_BYTES_READ=35973
15/11/23 17:47:13 INFO mapred.JobClient: HDFS_BYTES_READ=4938
15/11/23 17:47:13 INFO mapred.JobClient: FILE_BYTES_WRITTEN=72594
15/11/23 17:47:13 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=2266
15/11/23 17:47:13 INFO mapred.JobClient: Map-Reduce Framework
15/11/23 17:47:13 INFO mapred.JobClient: Reduce input groups=0
15/11/23 17:47:13 INFO mapred.JobClient: Combine output records=114
15/11/23 17:47:13 INFO mapred.JobClient: Map input records=119
15/11/23 17:47:13 INFO mapred.JobClient: Reduce shuffle bytes=0
15/11/23 17:47:13 INFO mapred.JobClient: Reduce output records=0
15/11/23 17:47:13 INFO mapred.JobClient: Spilled Records=228
15/11/23 17:47:13 INFO mapred.JobClient: Map output bytes=3100
15/11/23 17:47:13 INFO mapred.JobClient: Combine input records=176
15/11/23 17:47:13 INFO mapred.JobClient: Map output records=176
15/11/23 17:47:13 INFO mapred.JobClient: Reduce input records=114
在eclipse的左上角DFS Locations下可以查看输入和输出结果,output下的part-r-00000即是WordCount程序的运行结果文件。
我这里因为多次运行,所以有多个output文件。
也可以在终端方式下查看运行结果:
hadoop fs -cat output/*
同时,在web方式下输入master:50070后进去查看运行结果也是可以的。
这次WordCount程序的运行结果为:
!= 1
"word 1
(IntWritable 1
(itr.hasMoreTokens()) 1
(otherArgs.length 1
+= 1
0 1
0; 1
1); 1
2) 1
: 2
<in> 1
<out>"); 1
= 8
? 1
Configuration(); 1
Context 1
Exception 1
GenericOptionsParser(conf, 1
IOException, 2
IntSumReducer 1
IntWritable 2
IntWritable(); 1
IntWritable(1); 1
IntWritable>{ 1
InterruptedException 2
Iterable<IntWritable> 1
Job(conf, 1
Mapper<Object, 1
Path(otherArgs[0])); 1
Path(otherArgs[1])); 1
Reducer<Text,IntWritable,Text,IntWritable> 1
StringTokenizer(value.toString()); 1
Text 2
Text(); 1
Text, 2
TokenizerMapper 1
WordCount 1
args) 1
args).getRemainingArgs(); 1
class 3
conf 1
context) 2
count"); 1
extends 2
final 1
import 12
itr 1
java.io.IOException; 1
java.util.StringTokenizer; 1
job 1
key, 2
main(String[] 1
map(Object 1
new 9
one 1
one); 1
org.apache.hadoop.conf.Configuration; 1
org.apache.hadoop.fs.Path; 1
org.apache.hadoop.io.IntWritable; 1
org.apache.hadoop.io.Text; 1
org.apache.hadoop.mapreduce.Job; 1
org.apache.hadoop.mapreduce.Mapper; 1
org.apache.hadoop.mapreduce.Reducer; 1
org.apache.hadoop.mapreduce.lib.input.FileInputFormat; 1
org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; 1
org.apache.hadoop.util.GenericOptionsParser; 1
otherArgs 1
public 4
reduce(Text 1
result 1
result); 1
static 4
sum 1
throws 3
val 1
val.get(); 1
value, 1
values) 1
values,Context 1
void 3
word 1
wordcount 1
{ 8
} 4
Configuration 1
FileInputFormat.addInputPath(job, 1
FileOutputFormat.setOutputPath(job, 1
Job 1
String[] 1
System.exit(job.waitForCompletion(true) 1
if 1
job.setCombinerClass(IntSumReducer.class); 1
job.setJarByClass(WordCount.class); 1
job.setMapperClass(TokenizerMapper.class); 1
job.setOutputKeyClass(Text.class); 1
job.setOutputValueClass(IntWritable.class); 1
job.setReducerClass(IntSumReducer.class); 1
private 3
public 2
} 3
StringTokenizer 1
System.err.println("Usage: 1
System.exit(2); 1
context.write(key, 1
for 1
int 1
result.set(sum); 1
} 1
sum 1
while 1
} 1
context.write(word, 1
word.set(itr.nextToken()); 1
Hadoop+eclipse运行MapReduce程序相关推荐
- eclipse 运行MapReduce程序错误异常汇总(解决Map not fount)
错误一: Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class wordCount.wordCount$ ...
- 使用eclipse运行mapreduce程序
今天使用http://www.cnblogs.com/xia520pi/archive/2012/05/16/2504205.html上的方式搭建一个基于Eclipse的mapreduce开发环境,在 ...
- 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu
上篇介绍了使用命令行编译打包运行自己的MapReduce程序,使用 Eclipse 更加方便.要在 Eclipse 上编译和运行 MapReduce 程序,需要安装 hadoop-eclipse-pl ...
- windows环境下Eclipse开发MapReduce程序遇到的四个问题及解决办法
按此文章<Hadoop集群(第7期)_Eclipse开发环境设置>进行MapReduce开发环境搭建的过程中遇到一些问题,饶了一些弯路,解决办法记录在此: 文档目的: 记录windows环 ...
- linux系统运行MapReduce程序报错:exitCode 127
linux系统运行MapReduce程序报错:exitCode 127 hadoop mapreduce 出现 /bin/bash: /bin/java: No such file or direct ...
- 如何在Hadoop上编写MapReduce程序
1. 概述 1970年,IBM的研究员E.F.Codd博士在刊物<Communication of the ACM>上发表了一篇名为"A Relational Model of ...
- 关于Hadoop下运行MapReduce任务卡在Map0%和Reduce0%的解决办法
关于Hadoop下运行MapReduce任务卡在Map0%和Reduce0%的解决办法 检查核心配置 mapred-site.xml文件 检查以下配置信息,如果没有该信息,则添加上去 放个对比图吧(这 ...
- hadoop大数据——mapreduce程序提交运行模式及debug方法
本地运行模式 (1)mapreduce程序是被提交给LocalJobRunner在本地运行 (2)而处理的数据及输出结果可以在本地文件系统,也可以在hdfs上 怎样实现本地运行?:写一个程序,不要带集 ...
- hadoop jar包_计算机毕业设计中hadoop上运行Java程序
点击上方"蓝字",关注我们. 第一种:原生态运行jar包 1,利用eclipse编写Map-Reduce方法,一般引入Hadoop-core-1.1.2.jar.注意这里eclip ...
最新文章
- 李刚java视频_《Srping视频教程》疯狂Java 李刚老师[WMV]
- 134安装教程_PS教程连载第135课:PS第三方插件安装方法
- 分数优先遵循志愿php源码_天津中考录取16字原则:分数优先、遵循志愿、一次投档、额满为止...
- js 计算任意凸多边形内最大矩形_题库 | 计算机视觉常见面试题型介绍及解答 第 7 期...
- 0619-dedeCMS的安装、重装、目录说明、基本操作及注意事项
- 【Java多线程】并发时的线程安全:快乐影院示例
- 使用dockerfile自动化构建镜像
- 【动态规划笔记】区间dp:括号匹配(删除字符和括号匹配)
- 基于Spring MVC的Excel文件上传
- 模拟实现memcpy、memmove函数
- Java 使用反射 Class.forName() 报错java.lang.ClassNotFoundException 的解决办法
- 数据分析专题报告范文6篇_阿里大佬是怎么写数据分析报告的?
- 云端抢红包能从服务器看到我微信操作吗,微信抢红包暗藏规律 悄悄告诉你诀窍...
- 常见电容器图片_最强汇总:燃油锅炉常见故障分析与解决方法简单粗暴!编辑不易!...
- JavaScript基础教程第8版-例1-Bingo卡片游戏
- java 生成der_java – 我们如何将字符串从PEM转换为DER格式
- python floor是什么意思_python里floor怎么用
- 图解Topo拓扑排序
- postgresql立式版本下载_PostgreSQL下载_PostgreSQL最新官方版下载_3DM单机
- matlab怎么读txt文件字符串,Matlab中读取txt文件的几种方法
热门文章
- Java Review - 线程池资源一直不被释放案例源码分析
- 深入理解分布式技术 - 消息队列知识点回顾总结
- Spring-AOP @AspectJ切点函数之@within()和@target
- android fragment传递数据,Android 两个Fragment之间传递数据实例详解
- 学习笔记(二十二)—— 了解进程和线程
- 运行VC++6.0出现error LNK2001: unresolved external symbol _WinMain@16
- json html显示中文乱码,后台请求json文件,中文出现乱码
- 使用adb命令控制Android
- Linux 使用ps命令查看某个进程文件的启动位置
- php丢弃,在IIS 7.5中,PHP吓坏了(连接丢失,连接被丢弃)