指导手册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 命令的附带参数较多,下面结合实际任务,对它的各项参数依次进行说明。
例:
[root@maste 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:统计用户登录次数
[root@maste 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值
[root@maste 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己被中断。

指导手册04:运行MapReduce的更多相关文章
- 指导手册05:MapReduce编程入门
指导手册05:MapReduce编程入门 Part 1:使用Eclipse创建MapReduce工程 操作系统: Centos 6.8, hadoop 2.6.4 情景描述: 因为Hadoop本身 ...
- 指导手册02:伪分布式安装Hadoop(ubuntuLinux)
指导手册02:伪分布式安装Hadoop(ubuntuLinux) Part 1:安装及配置虚拟机 1.安装Linux. 1.安装Ubuntu1604 64位系统 2.设置语言,能输入中文 3.创建 ...
- 指导手册01:安装Hadoop
指导手册01:安装Hadoop Part 1:安装及配置虚拟机 1.安装Linux. (1)打开VMvirtualBox (2) 控制->新建虚拟机,输入虚拟机名称“marst+学号” 类型: ...
- Java 注解指导手册 – 终极向导
原文链接 原文作者:Dani Buiza 译者:Toien Liu 校对:深海 编者的话:注解是java的一个主要特性且每个java开发者都应该知道如何使用它. 我们已经在Java Code Gee ...
- 指导手册06:HBase安装部署
指导手册06:HBase安装部署 配置环境 1.参考文件: https://www.cnblogs.com/lzxlfly/p/7221890.html https://www.cnblogs.com ...
- 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS
使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS 2014-10-10 (updated: 2016-05-22) 64246 153 本教程介绍 ...
- [转]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 4 ...
- eclipse运行mapreduce报错Permission denied
今天用在eclipse-hadoop平台上运行map reduce(word count)出错了,错误信息为 org.apache.hadoop.security.AccessControlExcep ...
- 指导手册 07 安装配置HIVE
指导手册 07 安装配置HIVE 安装环境及所需安装包: 1.操作系统:centos6.8 2.四台虚拟机:master :10.0.2.4, slave1:10.0.2.5,slave2:10. ...
随机推荐
- 14 python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte 0xb7 in position 26: illegal multibyte sequence解决方法
>>> f = open("D:\\all.txt", "r")>>> f.read()Traceback (most re ...
- Python 第五阶段 学习记录之---Django 基础
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- mybatis源码解析11---ParameterHandler解析
ParameterHandler接口是参数处理器,位于mybatis包的org.apache.ibatis.executor.parameter下,源码如下: public interface Par ...
- kubernetes1.5新特性(二):支持Photon卷插件
在Kubernetes中卷的作用在于提供给POD持久化存储,这些持久化存储可以挂载到POD中的容器上,进而给容器提供持久化存储. 从图中可以看到结构体PodSpec有个属性是Volumes,通过这个V ...
- 微信小程序一些demo链接地址
校园小情书小程序前端+后端源码 https://www.douban.com/group/topic/116974400/ 小程序源码疯狂猜成语小程序源码UI美观 https://www.douban ...
- java与javax的区别分析(转)
Java是一种受C语言影响的编程语言.Java和Javax本质上是与Java编程语言的上下文一起使用的包.实际上Java和Javax没有区别.这只是不同的名字. Java是一种编程语言,受到C语言的影 ...
- [c/c++] programming之路(23)、字符串(四)——strncat,atoi,strcmp,strlen等,以及常用内存函数
一.strncat及自行封装实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #i ...
- spring boot +mybatis 整合 连接数据库测试(从0到1)
spring boot 整合mybatis 1.打开idea创建一个项目 2.在弹出的窗口中选择spring initializr(初始化项目),点击next 3.接下来填写group 与artifa ...
- mongodb 设置权限
切换到要加密的数据库use diary 创建有 readWrite 权限的用户db.createUser({ user: "youuser", pwd: "youpass ...
- 解决Intellij IDEA中console窗口中文乱码的问题
配置完tomcat之后,测试运行时,中文是乱码,如下图(自己忘截图了,图源网络,看水印) 网上其他的修改方法我就不说了,至少我试了一个都没用. 下面两个方法也是网上的,在此总结一下: 1.在idea. ...