编写简单的Mapreduce程序并部署在Hadoop2.2.0上运行

Similar documents
雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

三种方法实现Hadoop(MapReduce)全局排序(1)

关于天云趋势 天云趋势由宽带资本和趋势科技共同投资成立于 2010 年 3 月 趋势科技是 Hadoop 的重度使用者 : 2006 年开始使用, 用于处理网页和邮件服务器评级 五个数据中心, 近 1000 个节点, 最大集群约 500 台服务器 日均处理 3.6T 日志数据 亚洲最早, 也是最大的

在Fedora上部署Hadoop2.2.0伪分布式平台

Hadoop 集 群 ( 第 6 期 ) WordCount 运 行 详 解 1 MapReduce 理 论 简 介 1.1 MapReduce 编 程 模 型 MapReduce 采 用 分 而 治 之 的 思 想, 把 对 大 规 模 数 据 集 的 操 作, 分 发 给 一 个 主 节 点 管

使用MapReduce读取XML文件

Hive:用Java代码通过JDBC连接Hiveserver

三种方法实现Hadoop(MapReduce)全局排序(2)

Guava学习之Resources

Spark读取Hbase中的数据

目录 1 本期内容 MapReduce 理论简介 MapReduce 编程模型 MapReduce 处理过程 运行 WordCount 程序 准备工作 运行例子

Apache CarbonData集群模式使用指南

Java ¿ª·¢ 2.0: Óà Hadoop MapReduce ½øÐдóÊý¾Ý·ÖÎö

MapReduce

Chapter 9: Objects and Classes

Flume-ng与Mysql整合开发

使用Cassandra和Spark 2.0实现Rest API服务

使用Spark SQL读取Hive上的数据

chp6.ppt

PowerPoint Presentation

EJB-Programming-4-cn.doc


JavaIO.PDF

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

在Spring中使用Kafka:Producer篇

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

概述

D C 93 2

Hadoop 2.2.0安装和配置lzo

EJB-Programming-3.PDF

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005

通过Hive将数据写入到ElasticSearch

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

Simulator By SunLingxi 2003

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

Learning Java

Ubuntu和CentOS如何配置SSH使得无密码登陆

Java 1 Java String Date

3.1 num = 3 ch = 'C' 2

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

IP505SM_manual_cn.doc

Microsoft Word - Learn Objective-C.doc

RunPC2_.doc

Java

untitled

Microsoft Word - 01.DOC

untitled

计 算 机 系 统 应 用 年 第 25 卷 第 4 期 线 程 的 复 用 [2,3]. 通 常 情 况 下, 服 务 器 端 程 序 在 启 动 时 创 建 若 干 数 量 的 线 程 对 象 并 缓 存 起 来, 此 时 它 们 处 于

mvc

《大话设计模式》第一章

tar -xzf hadoop tar.gz mv hadoop /app 在 Hadoop 目录下创建子目录 在 hadoop 目录下创建 tmp name 和 data 目录 cd /app/hadoop mkdir tmp mkdir

epub83-1

Oracle 4

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

Reducing Client Incidents through Big Data Predictive Analytics

Flink快速上手(QuickStart)

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

Hadoop元数据合并异常及解决方法

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

Microsoft Word - PHP7Ch01.docx

ebook 132-6

Microsoft Word - PS2_linux_guide_cn.doc

untitled

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Microsoft Word - Broker.doc


PowerPoint 演示文稿

Microsoft Word - ch04三校.doc

Amazon EC2 是一个 Web 服务, 它允许用户请求具有各种资源 (CPU 磁盘 内存等) 的虚拟机器 用户只需按使用的计算时间付费, 其他事情全交给 Amazon 处理 这些实例 (Amazon Machine Image,AMI) 基于 Linux, 可以运行您需要的任何应用程序或软件

JBuilder Weblogic

IoC容器和Dependency Injection模式.doc

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

untitled

ebook15-C

epub 61-2

附录J:Eclipse教程

Chapter 9: Objects and Classes

提纲 1 2 OS Examples for 3

目 录 目 录 1. 安 装 和 快 速 入 门 附 件 1.1 随 机 附 件 附 件 信 息... 3 连 接 和 设 定 1.3 连 接 记 录 纸... 4 快 速 入 门 1.5 发 送 传 真 / 复 印 接 收 传 真

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

Microsoft Word - Functional_Notes_3.90_CN.doc

untitled

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

韶关:神奇丹霞

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

目次 

<4D F736F F D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

Transcription:

编写简单的 Mapreduce 程序并部署在 Hadoop2.2.0 上运行 经过几天的折腾, 终于配置好了 Hadoop2.2.0( 如何配置在 Linux 平台部署 Hadoop 请参见本博客 在 Fedora 上部署 Hadoop2.2.0 伪分布式平台 ), 今天主要来说说怎么在 Hadoop2.2.0 伪分布式上面运行我们写好的 Mapreduce 程序 先给出这个程序所依赖的 Maven 包 : <dependencies> <artifactid>hadoop-mapreduce-client-core</artifactid> <artifactid>hadoop-common</artifactid> <artifactid>hadoop-mapreduce-client-common</artifactid> <artifactid>hadoop-mapreduce-client-jobclient</artifactid> </dependencies> 记得加上 <artifactid>hadoop-mapreduce-client-common</artifactid> <artifactid>hadoop-mapreduce-client-jobclient</artifactid> 1 / 11

否则运行程序的时候将会出现一下的异常 : Exception in thread "main" java.io.ioexception: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. at org.apache.hadoop.mapreduce.cluster.initialize(cluster.java:120) at org.apache.hadoop.mapreduce.cluster.<init>(cluster.java:82) at org.apache.hadoop.mapreduce.cluster.<init>(cluster.java:75) at org.apache.hadoop.mapred.jobclient.init(jobclient.java:465) at org.apache.hadoop.mapred.jobclient.<init>(jobclient.java:444) at org.apache.hadoop.mapred.jobclient.runjob(jobclient.java:826) at com.wyp.hadoop.maxtemperature.main(maxtemperature.java:41) at sun.reflect.nativemethodaccessorimpl.invoke0(native Method) at sun.reflect.nativemethodaccessorimpl.invoke (NativeMethodAccessorImpl.java:57) at sun.reflect.delegatingmethodaccessorimpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.method.invoke(method.java:606) at com.intellij.rt.execution.application.appmain.main(appmain.java:120) 好了, 现在给出程序, 代码如下 : package com.wyp.hadoop; import org.apache.hadoop.io.intwritable; import org.apache.hadoop.io.longwritable; import org.apache.hadoop.io.text; import org.apache.hadoop.mapred.*; import java.io.ioexception; /** * User: wyp * Date: 13-10-25 * Time: 下午 3:26 * Email:wyphao.2007@163.com */ 2 / 11

public class MaxTemperatureMapper extends MapReduceBase implements Mapper<LongWritable, Text, Text,IntWritable>{ private static final int MISSING = 9999; @Override public void map(longwritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { String line = value.tostring(); String year = line.substring(15, 19); int airtemperature; if(line.charat(87) == '+'){ airtemperature = Integer.parseInt(line.substring(88, 92)); else{ airtemperature = Integer.parseInt(line.substring(87, 92)); String quality = line.substring(92, 93); if(airtemperature!= MISSING && quality.matches("[01459]")){ output.collect(new Text(year), new IntWritable(airTemperature)); package com.wyp.hadoop; import org.apache.hadoop.io.intwritable; import org.apache.hadoop.io.text; import org.apache.hadoop.mapred.mapreducebase; import org.apache.hadoop.mapred.outputcollector; import org.apache.hadoop.mapred.reducer; import org.apache.hadoop.mapred.reporter; import java.io.ioexception; import java.util.iterator; /** * User: wyp * Date: 13-10-25 * Time: 下午 3:36 * Email:wyphao.2007@163.com */ public class MaxTemperatureReducer extends MapReduceBase implements Reducer<Text, IntWritable, 3 / 11

Text, IntWritable> { @Override public void reduce(text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { int maxvalue = Integer.MIN_VALUE; while (values.hasnext()){ maxvalue = Math.max(maxValue, values.next().get()); output.collect(key, new IntWritable(maxValue)); package com.wyp.hadoop; import org.apache.hadoop.fs.path; import org.apache.hadoop.io.intwritable; import org.apache.hadoop.io.text; import org.apache.hadoop.mapred.fileinputformat; import org.apache.hadoop.mapred.fileoutputformat; import org.apache.hadoop.mapred.jobclient; import org.apache.hadoop.mapred.jobconf; import java.io.ioexception; /** * User: wyp * Date: 13-10-25 * Time: 下午 3:40 * Email:wyphao.2007@163.com */ public class MaxTemperature { public static void main(string[] args) throws IOException { if(args.length!= 2){ System.err.println("Error!"); System.exit(1); JobConf conf = new JobConf(MaxTemperature.class); conf.setjobname("max Temperature"); FileInputFormat.addInputPath(conf, new Path(args[0])); FileOutputFormat.setOutputPath(conf, new Path(args[1])); conf.setmapperclass(maxtemperaturemapper.class); 4 / 11

conf.setreducerclass(maxtemperaturereducer.class); conf.setoutputkeyclass(text.class); conf.setoutputvalueclass(intwritable.class); JobClient.runJob(conf); 将上面的程序编译和打包成 jar 文件, 然后开始在 Hadoop2.2.0( 本文假定用户都部署好了 Ha doop2.2.0) 上面部署了 下面主要讲讲如何去部署 : 首先, 启动 Hadoop2.2.0, 命令如下 : [wyp@wyp hadoop]$ sbin/start-dfs.sh [wyp@wyp hadoop]$ sbin/start-yarn.sh 如果你想看看 Hadoop2.2.0 是否运行成功, 运行下面的命令去查看 [wyp@wyp hadoop]$ jps 9582 Main 9684 RemoteMavenServer 16082 Jps 7011 DataNode 7412 ResourceManager 7528 NodeManager 7222 SecondaryNameNode 6832 NameNode 其中 jps 是 jdk 自带的一个命令, 在 jdk/bin 目录下 如果你电脑上面出现了以上的几个进程 ( NameNode SecondaryNameNode NodeManager ResourceManager DataNode 这五个进程必须出现!) 说明你的 Hadoop 服务器启动成功了! 现在来运行上面打包好的 jar 文件 ( 这里为 H adoop.jar, 其中 /home/wyp/ideaprojects/hadoop/out/artifacts/hadoop_jar/hadoop.jar 是它的绝对路径, 不知道绝对路径是什么? 那你好好去学学吧!), 运行下面的命令 : [wyp@wyp Hadoop_jar]$ /home/wyp/downloads/hadoop/bin/hadoop jar \ /home/wyp/ideaprojects/hadoop/out/artifacts/hadoop_jar/hadoop.jar \ com/wyp/hadoop/maxtemperature \ 5 / 11

/user/wyp/data.txt \ /user/wyp/result ( 上面是一条命令, 由于太长了, 所以我分行写, 在实际情况中, 请写一行!) 其中,/ho me/wyp/downloads/hadoop/bin/hadoop 是 hadoop 的绝对路径, 如果你在环境变量中配置好 ha doop 命令的路径就不需要这样写 ;com/wyp/hadoop/maxtemperature 是上面程序的 main 函数的入口 ;/user/wyp/data.txt 是 Hadoop 文件系统 (HDFS) 中的绝对路径 ( 注意 : 这里不是你 Linu x 系统中的绝对路径!), 为需要分析文件的路径 ( 也就是 input);/user/wyp/result 是分析结果输出的绝对路径 ( 注意 : 这里不是你 Linux 系统中的绝对路径! 而是 HDFS 上面的路径! 而且 /user /wyp/result 一定不能存在, 否则会抛出异常! 这是 Hadoop 的保护机制, 你总不想你以前运行好几天的程序突然被你不小心给覆盖掉了吧? 所以, 如果 /user/wyp/result 存在, 程序会抛出异常, 很不错啊 ) 好了 输入上面的命令, 应该会得到下面类似的输出 : 13/10/28 15:20:44 INFO client.rmproxy: Connecting to ResourceManager at /0.0.0.0:8032 13/10/28 15:20:44 INFO client.rmproxy: Connecting to ResourceManager at /0.0.0.0:8032 13/10/28 15:20:45 WARN mapreduce.jobsubmitter: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to re medy this. 13/10/28 15:20:45 WARN mapreduce.jobsubmitter: No job jar file set. User classes may not b e found. See Job or Job#setJar(String). 13/10/28 15:20:45 INFO mapred.fileinputformat: Total input paths to process : 1 13/10/28 15:20:46 INFO mapreduce.jobsubmitter: number of splits:2 13/10/28 15:20:46 INFO Configuration.deprecation: user.name is deprecated. Instead, use ma preduce.job.user.name 13/10/28 15:20:46 INFO Configuration.deprecation: mapred.output.value.class is deprecated. I nstead, use mapreduce.job.output.value.class 13/10/28 15:20:46 INFO Configuration.deprecation: mapred.job.name is deprecated. Instead, use mapreduce.job.name 13/10/28 15:20:46 INFO Configuration.deprecation: mapred.input.dir is deprecated. Instead, u se mapreduce.input.fileinputformat.inputdir 13/10/28 15:20:46 INFO Configuration.deprecation: mapred.output.dir is deprecated. Instead, use mapreduce.output.fileoutputformat.outputdir 13/10/28 15:20:46 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps 13/10/28 15:20:46 INFO Configuration.deprecation: mapred.output.key.class is deprecated. In stead, use mapreduce.job.output.key.class 13/10/28 15:20:46 INFO Configuration.deprecation: mapred.working.dir is deprecated. Instead, use mapreduce.job.working.dir 13/10/28 15:20:46 INFO mapreduce.jobsubmitter: Submitting tokens for job: job_1382942307 976_0008 13/10/28 15:20:47 INFO mapred.yarnrunner: Job jar is not present. Not adding any jar to the list of resources. 13/10/28 15:20:49 INFO impl.yarnclientimpl: Submitted application application_13829423079 6 / 11

76_0008 to ResourceManager at /0.0.0.0:8032 13/10/28 15:20:49 INFO mapreduce.job: The url to track the job: http://wyp:8088/proxy/applic ation_1382942307976_0008/ 13/10/28 15:20:49 INFO mapreduce.job: Running job: job_1382942307976_0008 13/10/28 15:20:59 INFO mapreduce.job: Job job_1382942307976_0008 running in uber mode : false 13/10/28 15:20:59 INFO mapreduce.job: map 0% reduce 0% 13/10/28 15:21:35 INFO mapreduce.job: map 100% reduce 0% 13/10/28 15:21:38 INFO mapreduce.job: map 0% reduce 0% 13/10/28 15:21:38 INFO mapreduce.job: Task Id : attempt_1382942307976_0008_m_000000_0, Status : FAILED Error: java.lang.runtimeexception: Error in configuring object at org.apache.hadoop.util.reflectionutils.setjobconf(reflectionutils.java:109) at org.apache.hadoop.util.reflectionutils.setconf(reflectionutils.java:75) at org.apache.hadoop.util.reflectionutils.newinstance(reflectionutils.java:133) at org.apache.hadoop.mapred.maptask.runoldmapper(maptask.java:425) at org.apache.hadoop.mapred.maptask.run(maptask.java:341) at org.apache.hadoop.mapred.yarnchild$2.run(yarnchild.java:162) at java.security.accesscontroller.doprivileged(native Method) at javax.security.auth.subject.doas(subject.java:415) at org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation.java:1491 ) at org.apache.hadoop.mapred.yarnchild.main(yarnchild.java:157) Caused by: java.lang.reflect.invocationtargetexception at sun.reflect.nativemethodaccessorimpl.invoke0(native Method) at sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) at sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) at java.lang.reflect.method.invoke(method.java:606) at org.apache.hadoop.util.reflectionutils.setjobconf(reflectionutils.java:106)... 9 more Caused by: java.lang.runtimeexception: java.lang.runtimeexception: java.lang.classnotfound Exception: Class com.wyp.hadoop.maxtemperaturemapper1 not found at org.apache.hadoop.conf.configuration.getclass(configuration.java:1752) at org.apache.hadoop.mapred.jobconf.getmapperclass(jobconf.java:1058) at org.apache.hadoop.mapred.maprunner.configure(maprunner.java:38)... 14 more Caused by: java.lang.runtimeexception: java.lang.classnotfoundexception: Class com.wyp.ha doop.maxtemperaturemapper1 not found at org.apache.hadoop.conf.configuration.getclass(configuration.java:1720) at org.apache.hadoop.conf.configuration.getclass(configuration.java:1744)... 16 more Caused by: java.lang.classnotfoundexception: Class com.wyp.hadoop.maxtemperaturemapp er1 not found at org.apache.hadoop.conf.configuration.getclassbyname(configuration.java:1626) at org.apache.hadoop.conf.configuration.getclass(configuration.java:1718)... 17 more 7 / 11

Container killed by the ApplicationMaster. Container killed on request. Exit code is 143 程序居然抛出异常 (ClassNotFoundException)! 这是什么回事? 其实我也不太明白!! 在网上 Google 了一下, 找到别人的观点 : 经个人总结, 这通常是由于以下几种原因造成的 : (1) 你编写了一个 java lib, 封装成了 jar, 然后再写了一个 Hadoop 程序, 调用这个 jar 完成 mapper 和 reducer 的编写 (2) 你编写了一个 Hadoop 程序, 期间调用了一个第三方 java lib 之后, 你将自己的 jar 包或者第三方 java 包分发到各个 TaskTracker 的 HADOOP_HOME 目录下, 运行你的 JAVA 程序, 报了以上错误 那怎么解决呢? 一个笨重的方法是, 在运行 Hadoop 作业的时候, 先运行下面的命令 : [wyp@wyp Hadoop_jar]$ export \ HADOOP_CLASSPATH=/home/wyp/IdeaProjects/Hadoop/out/artifacts/Hadoop_jar/ 其中,/home/wyp/IdeaProjects/Hadoop/out/artifacts/Hadoop_jar/ 是上面 Hadoop.jar 文件所在的目录 好了, 现在再运行一下 Hadoop 作业命令 : 有一个比较推荐的方法, 就是在提交作业的时候加上 - libjars 参数, 后面跟着需要的类库的绝对路径 [wyp@wyp Hadoop_jar]$ hadoop jar /home/wyp/ideaprojects/hadoop/out/artifacts/hadoop_j ar/hadoop.jar com/wyp/hadoop/maxtemperature /user/wyp/data.txt /user/wyp/result 13/10/28 15:34:16 INFO client.rmproxy: Connecting to ResourceManager at /0.0.0.0:8032 13/10/28 15:34:16 INFO client.rmproxy: Connecting to ResourceManager at /0.0.0.0:8032 13/10/28 15:34:17 WARN mapreduce.jobsubmitter: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to re medy this. 13/10/28 15:34:17 INFO mapred.fileinputformat: Total input paths to process : 1 13/10/28 15:34:17 INFO mapreduce.jobsubmitter: number of splits:2 13/10/28 15:34:17 INFO Configuration.deprecation: user.name is deprecated. Instead, use ma preduce.job.user.name 13/10/28 15:34:17 INFO Configuration.deprecation: mapred.jar is deprecated. Instead, use ma preduce.job.jar 8 / 11

13/10/28 15:34:17 INFO Configuration.deprecation: mapred.output.value.class is deprecated. I nstead, use mapreduce.job.output.value.class 13/10/28 15:34:17 INFO Configuration.deprecation: mapred.job.name is deprecated. Instead, use mapreduce.job.name 13/10/28 15:34:17 INFO Configuration.deprecation: mapred.input.dir is deprecated. Instead, u se mapreduce.input.fileinputformat.inputdir 13/10/28 15:34:17 INFO Configuration.deprecation: mapred.output.dir is deprecated. Instead, use mapreduce.output.fileoutputformat.outputdir 13/10/28 15:34:17 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps 13/10/28 15:34:17 INFO Configuration.deprecation: mapred.output.key.class is deprecated. In stead, use mapreduce.job.output.key.class 13/10/28 15:34:17 INFO Configuration.deprecation: mapred.working.dir is deprecated. Instead, use mapreduce.job.working.dir 13/10/28 15:34:18 INFO mapreduce.jobsubmitter: Submitting tokens for job: job_1382942307 976_0009 13/10/28 15:34:18 INFO impl.yarnclientimpl: Submitted application application_13829423079 76_0009 to ResourceManager at /0.0.0.0:8032 13/10/28 15:34:18 INFO mapreduce.job: The url to track the job: http://wyp:8088/proxy/applic ation_1382942307976_0009/ 13/10/28 15:34:18 INFO mapreduce.job: Running job: job_1382942307976_0009 13/10/28 15:34:26 INFO mapreduce.job: Job job_1382942307976_0009 running in uber mode : false 13/10/28 15:34:26 INFO mapreduce.job: map 0% reduce 0% 13/10/28 15:34:41 INFO mapreduce.job: map 50% reduce 0% 13/10/28 15:34:53 INFO mapreduce.job: map 100% reduce 0% 13/10/28 15:35:17 INFO mapreduce.job: map 100% reduce 100% 13/10/28 15:35:18 INFO mapreduce.job: Job job_1382942307976_0009 completed successfully 13/10/28 15:35:18 INFO mapreduce.job: Counters: 43 File System Counters FILE: Number of bytes read=144425 FILE: Number of bytes written=524725 FILE: Number of read operations=0 FILE: Number of large read operations=0 FILE: Number of write operations=0 HDFS: Number of bytes read=1777598 HDFS: Number of bytes written=18 HDFS: Number of read operations=9 HDFS: Number of large read operations=0 HDFS: Number of write operations=2 Job Counters Launched map tasks=2 Launched reduce tasks=1 Data-local map tasks=2 Total time spent by all maps in occupied slots (ms)=38057 Total time spent by all reduces in occupied slots (ms)=24800 9 / 11

Map-Reduce Framework Map input records=13130 Map output records=13129 Map output bytes=118161 Map output materialized bytes=144431 Input split bytes=182 Combine input records=0 Combine output records=0 Reduce input groups=2 Reduce shuffle bytes=144431 Reduce input records=13129 Reduce output records=2 Spilled Records=26258 Shuffled Maps =2 Failed Shuffles=0 Merged Map outputs=2 GC time elapsed (ms)=321 CPU time spent (ms)=5110 Physical memory (bytes) snapshot=552824832 Virtual memory (bytes) snapshot=1228738560 Total committed heap usage (bytes)=459800576 Shuffle Errors BAD_ID=0 CONNECTION=0 IO_ERROR=0 WRONG_LENGTH=0 WRONG_MAP=0 WRONG_REDUCE=0 File Input Format Counters Bytes Read=1777416 File Output Format Counters Bytes Written=18 到这里, 程序就成功运行了! 很高兴吧? 那么怎么查看刚刚程序运行的结果呢? 很简单, 运行下面命令 : [wyp@wyp Hadoop_jar]$ hadoop fs -ls /user/wyp Found 2 items -rw-r--r-- 1 wyp supergroup 1777168 2013-10-25 17:44 /user/wyp/data.txt drwxr-xr-x - wyp supergroup 0 2013-10-28 15:35 /user/wyp/result [wyp@wyp Hadoop_jar]$ hadoop fs -ls /user/wyp/result Found 2 items -rw-r--r-- 1 wyp supergroup 0 2013-10-28 15:35 /user/wyp/result/_success 10 / 11

Powered by TCPDF (www.tcpdf.org) 编写简单的 Mapreduce 程序并部署在 Hadoop2.2.0 上运行 -rw-r--r-- 1 wyp supergroup 18 2013-10-28 15:35 /user/wyp/result/part-00000 [wyp@wyp Hadoop_jar]$ hadoop fs -cat /user/wyp/result/part-00000 1901 317 1902 244 到此, 你自己写好的一个 Mapreduce 程序终于成功运行了! 附程序测试的数据的下载地址 :http://pan.baidu.com/s/1isacm 本博客文章除特别声明, 全部都是原创! 禁止个人和公司转载本文 谢谢理解 : 过往记忆 (https://www.iteblog.com/) 本文链接 : () 11 / 11