指导手册04:运行MapReduce

指导手册04:运行MapReduce

 

Part 1:运行单个MapReduce任务

情景描述:

本次任务要求对HDFS目录中的数据文件/user/root/email_log.txt进行计算处理,统计出第个用户的登录次数。

情景分析:统计出每个用户登录次数,等同于求出每个email出现的次数,可以进一步抽象为统计每个单司出现的频次。在Hadoop官方提供的示例包中,正好有进行记频统计的模块。

1.Hadoop官方的示例程序包

在集群服务器的本地目录”$HADOOP_HOME/share/hadoop/mapreduce/中可发现示例程序包hadoop-mapreduce-examples-2.6.4.jar


模块名称


内容


multifilewc


统计多个文件中单词的数量。


pi


应用quasi-Monte Carlo 算法来估算圆周率π的值。


randomtextwriter


在每个数据节点随机生成1个10GB的文本文件。


wordcount


对输入文件中的单词进行频数统计。


wordmean


计算输入文件中单词的平均长度。


wordmedian


计算输入文件中单词长度的中位数。


wordstandarddeviation


计算输入文件中单词长度的标准差。

2.提交MapReduce任务给集群运行

提交MapReduce任务,通常使用hadoop jar 命令。它的基本用法格式如下

Hadoop jar <jar> [mainClass] args

因为hadoop jar 命令的附带参数较多,下面结合实际任务,对它的各项参数依次进行说明。

例:

[[email protected] opt]# hadoop jar  $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-exampes-2.6.4.jar wordcount /user/root/emil_log.txt  /user/root/output (emil_log.txt请参考指导手册03上传)

参数说明:

$HADOOP_HOME:指主机中设置的环境变量

hadoop-mapreduce-exampes-2.6.4.jar :Hadoop官方提供的示例程序包

wordcount:程序中的主类名称

/user/root/emil_log.txt:HDFS上的输入文件名称

/user/root/output: HDFS上输出的文件目录

3.执行结果查看

Part 2: 管理多个MapReduce任务

情景描述:

Hadoop是一个多任务系统,它可以同时为多个用户、多个作业处理多个数据集。对于提交到Hadoop集群的多个任务,用户如何进行有效管理。比如,想知道集群完成了哪些任务;执行结果是成功还是失败;怎么检查任务的实际执行情况;如果某个任务执行时间过长,怎么中断它。

当用户提交了多个任务后,通常可以使用资源管理器的服务接口,对提交后的任务进行查询。当发现有异常时,可以中断当前作业或查询指定的日志文件。

1.查询MapReduce任务

例:调用Hadoop的示例程序包,采用Qqusi-Monte Carlo算法来估算PI的值。后面两个参数代表Map数量与每个Map的测量次数,参数的值越大,计算出来的结果精度越高。

Hadoop jar  /usr/local/hadoop-2.6.4/share/hadoop/mapredduce/hadoop-mapreduce-example-2.6.2.jar pi  10  100

查看MapReduce任务的计算机资源使用情况:http://master:8088,再单击左侧菜单栏的”Nodes”.

可以看到集群可用内存共有6GB,被使用了5.5G,剩余512MB,CPU核心有3个。

请运行程序,将你的集群信息填写如下:


可用内存


内存使用


剩余内存


CPU核心个数

继续查询当前任务的信息,单击左侧菜单栏中的“Applicatiions”,或者直接访问http://master:8088/cluster/apps显示如下结果。

它的状态值为“RUNNNING”,表示这个任务正执行中。

2.同时提交两个任务,进行观察

示例任务1:统计用户登录次数

[[email protected] opt]# hadoop jar  $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-exampes-2.6.4.jar wordcount /user/root/emil_log.txt  /user/root/output1 (emil_log.txt请参考指导手册03上传)

示例任务2:执行估算PI值

[[email protected] opt]# Hadoop jar  /usr/local/hadoop-2.6.4/share/hadoop/mapredduce/hadoop-mapreduce-example-2.6.2.jar pi  10  100

提交两个作业后,观察集群上的计算机资源使用情况。

作业0001的状态“RUNNING”,表示它正在执行中。而作业0002的状态是“ACCEPTED”,表示它已被资源管理器YARN接受,目前在等待被分配计算资源,只有当计算资源满足后,才会开始执行。

3.中断MapReduce任务

人为中断第1个作业:点击任务1的ID进入任务1,点击图中Kill Application即可中断该任务。

再次刷新任务界面,可以发现原来的作业1己被中断。

 

原文地址:https://www.cnblogs.com/soft2408/p/9745355.html

时间: 2024-08-29 21:14:46

指导手册04:运行MapReduce的相关文章

指导手册01:安装Hadoop

指导手册01:安装Hadoop  Part 1:安装及配置虚拟机 1.安装Linux. (1)打开VMvirtualBox (2) 控制->新建虚拟机,输入虚拟机名称"marst+学号" 类型:Linux,版本:other Linux(64-bit) CentOS-6.8-x86_64-bin-DVD1 (3)内存建议1024M, 创建虚拟盘VHD虚拟硬盘,动态分配,硬盘20G. (4) 右击己创建的虚拟机master, 设置:网络,网卡1:桥接网卡.存储:光盘,选择CentOS

Java 注解指导手册 – 终极向导

原文链接 原文作者:Dani Buiza 译者:Toien Liu  校对:深海 编者的话:注解是java的一个主要特性且每个java开发者都应该知道如何使用它. 我们已经在Java Code Geeks提供了丰富的教程, 如Creating Your Own Java Annotations, Java Annotations Tutorial with Custom Annotation 和 Java Annotations: Explored & Explained. 我们也有些文章是关于

使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS

文章来源:http://www.powerxing.com/hadoop-build-project-using-eclipse/ 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS 本教程介绍的是如何在 Ubuntu/CentOS 中使用 Eclipse 来开发 MapReduce 程序,在 Hadoop 2.6.0 下验证通过.虽然我们可以使用命令行编译打包运行自己的MapReduce程序,但毕竟编写代码不方便.使用 Eclipse,我们可以

[转]hadoop运行mapreduce作业无法连接0.0.0.0/0.0.0.0:10020

14/04/04 17:15:12 INFO mapreduce.Job:  map 0% reduce 0% 14/04/04 17:19:42 INFO mapreduce.Job:  map 41% reduce 0% 14/04/04 17:19:53 INFO mapreduce.Job:  map 64% reduce 0% 14/04/04 17:19:55 INFO mapreduce.Job:  map 52% reduce 0% 14/04/04 17:19:57 INFO 

proxmark3使用指导手册

Proxmark3是由Jonathan Westhues设计并且开发的开源硬件,其主要用RFID的嗅探.读取以及克隆等的操作.是因为原作者为了研究有关Mifare Classic硕士论文而生的. Proxmark只有两个版本:Proxmark2以及Proxmark3,Proxmark2版本是因为Jonathan Wesrhues为了复制Verichip才应运而生的,而Proxmark2的前身就是一个便携式的Verichips,该硬件可以读取并且重放Verichip的ID,如果利用天线去靠近Ver

【干货】电路设计师指导手册(已更新完毕)(转载EDN)

[干货]电路设计师指导手册(已更新完毕) 第一部分:接地与布线第二部分:电源返回路径与I/O信号接地第三部分:板间互连.星形接地及屏蔽第四部分:安全地以及电线/电缆第五部分:射频电缆.双绞线与串扰

Gitlab开发指导手册

Gitlab开发人员指导手册 开发流程 1.从远程拉取最新的master分支(或者最新的个人开发分支)到本地,切换为自己的个人开发分支.然后开发.更新push到自己的个人分支. 2.功能完成之后,拉取最新的master分支,在本地先将master合并至个人开发分支.更新push自己的个人分支.登陆gitlab,创建合并请求:将自己的个人开发分支合并至master.通过 Jenkins自动化测试之后,开始人工审核. 3.审核通过之后,开始进行版本测试. 4.版本测试通过之后,管理员认为一个mast

Windows 使用Eclipse编译运行MapReduce --WordCount 本地调式

一 . 准备工作 操作系统:windows 10 开发工具:eclipse 4.5 java虚拟机 :jdk 1.8  (jdk-8u91-windows-x64.exe) 官网下载地址http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-windows-x64.exe hadoop版本:hadoop2.6 (hadoop-2.6.4.tar.gz) 官网下载地址http://apache.fayea.com/hadoop/c

mahout推荐15-在hadoop上运行MapReduce

详情可以参考<Mahout实战>的第六章 代码: package mahout.wiki; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.PriorityQueue; import java.util.Queue; import java