Hadoop系列(三):hadoop基本测试
下面是对hadoop的一些基本测试示例
Hadoop自带测试类简单使用
这个测试类名叫做 hadoop-mapreduce-client-jobclient.jar,位置在 hadoop/share/hadoop/mapreduce/ 目录下
不带任何参数可以获取这个jar的帮助信息
$ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar
1. TestDFSIO
用于测试hdfs的IO性能,使用一个mapReduce作业来并发的执行读写操作,每个map任务用于读或写每个文件,map输出用于手机与处理文件相关的统计信息,Reduce用于累计和统计信息,并产生summary。
1) TestDFSIO write
例子:向HDFS中写入10个1000M文件
$ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar TestDFSIO -write -nrFiles 10 -fileSize 1000 -resFile /home/hadoop/hadoop_test/TestDFSIO_write.log 测试结果如下:
----- TestDFSIO ----- : write
Date & time: Thu Nov 15 12:04:51 CST 2018
Number of files: 10
Total MBytes processed: 10000
Throughput mb/sec: 6.29
Average IO rate mb/sec: 6.39
IO rate std deviation: 0.87
Test exec time sec: 230.35 参数说明:
TestDFSIO 表示测试类型
-write 表示写测试
-nrFiles 表示往HDFS 写入多少个文件
-fileSize 表示写入每个文件的大小
-resFile 表示最后的测试结果输出到的文件
2) TestDFSIO read
例子:从HDFS中读取10个1000M文件
$ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar TestDFSIO -read -nrFiles 10 -fileSize 1000 -resFile /home/hadoop/hadoop_test/TestDFSIO_read.log 测试结果如下:
----- TestDFSIO ----- : read
Date & time: Thu Nov 15 13:31:10 CST 2018
Number of files: 10
Total MBytes processed: 10000
Throughput mb/sec: 20.23
Average IO rate mb/sec: 21.09
IO rate std deviation: 4.26
Test exec time sec: 97.46
3) 清空测试数据
$ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar TestDFSIO -clean
2. nnbench测试
nnbench用于测试NameNode的负载,他会产生很多余HDFS相关的请求,给NameNode施加较大的压力。这个测试能在hdfs上模拟创建,读取,重命名和删除文件等操作。
例子: 使用12个mapper和6个Reduce来创建1000个文件
$ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar nnbench -operation create_write -maps 12 -reduces 6 \
-blockSize 1 -bytesToWrite 0 -numberOfFiles 1000 -replicationFactorPerFile 3 -readFileAfterOpen true \
-baseDir /benchmarks/NNBench-`hostname -s`
3. mrbench测试
mrbench会多次重复一个小作业,用于检查在集群上小作业的是否可重复以及运行是否可高效,用法如下:
例子:以下会运行一个小作业一共50次
$ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar mrbench -numRuns 50 测试结果:
DataLines Maps Reduces AvgTime (milliseconds)
1 2 1 30248
4. mapreduce 排序测试
生成1G测试数据放到/examples/terasort-input
$ yarn jar hadoop-mapreduce-examples-2.8.5.jar teragen 10000000 /examples/terasort-input
开始排序
$ yarn jar hadoop-mapreduce-examples-2.8.5.jar terasort /examples/terasort-input /examples/terasort-output
/examples/terasort-input 输入目录
/examples/terasort-output 输出目录
查看校验数据
/examples/terasort-output/part-r-00000
校验数据为空,排序功能正常
Hadoop系列(三):hadoop基本测试的更多相关文章
- hadoop系列三:mapreduce的使用(一)
转载请在页首明显处注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/7224772.html 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的 ...
- 安装Hadoop系列 — 导入Hadoop源码项目
将Hadoop源码导入Eclipse有个最大好处就是通过 "ctrl + shift + r" 可以快速打开Hadoop源码文件. 第一步:在Eclipse新建一个Java项目,h ...
- 安装Hadoop系列 — 安装Hadoop
安装步骤如下: 1)下载hadoop:hadoop-1.0.3 http://archive.apache.org/dist/hadoop/core/hadoop-1.0.3/ 2)解压文 ...
- hadoop系列二:HDFS文件系统的命令及JAVA客户端API
转载请在页首明显处注明作者与出处 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6 ...
- hadoop系列四:mapreduce的使用(二)
转载请在页首明显处注明作者与出处 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6 ...
- hadoop基础----hadoop实战(九)-----hadoop管理工具---CDH的错误排查(持续更新)
在CDH安装完成后或者CDH使用过程中经常会有错误或者警报,需要我们去解决,积累如下: 解决红色警报 时钟偏差 这是因为我们的NTP服务不起作用导致的,几台机子之间有几秒钟的时间偏差. 这种情况下一是 ...
- hadoop基础----hadoop理论(四)-----hadoop分布式并行计算模型MapReduce具体解释
我们在前一章已经学习了HDFS: hadoop基础----hadoop理论(三)-----hadoop分布式文件系统HDFS详细解释 我们已经知道Hadoop=HDFS(文件系统,数据存储技术相关)+ ...
- Hadoop 系列(三)—— 分布式计算框架 MapReduce
一.MapReduce概述 Hadoop MapReduce 是一个分布式计算框架,用于编写批处理应用程序.编写好的程序可以提交到 Hadoop 集群上用于并行处理大规模的数据集. MapReduce ...
- Hadoop 系列(三)Java API
Hadoop 系列(三)Java API <dependency> <groupId>org.apache.hadoop</groupId> <artifac ...
- Hadoop 系列文章(一) Hadoop 的安装,以及 Standalone Operation 的启动模式测试
以前都是玩 java,没搞过 hadoop,所以以此系列文章来记录下学习过程 安装的文件版本.操作系统说明 centos-6.5-x86_64 [bamboo@hadoop-senior opt]$ ...
随机推荐
- C#实现注册表 LocalMachine 目录下CURD工具类
[1]注册表是什么? 百度百科 https://baike.baidu.com/item/%E6%B3%A8%E5%86%8C%E8%A1%A8/101856?fr=aladdin [ ...
- c#进阶一:使用ILDASM来查看c#中间语言
平时工作的时候总是使用ctrl c+ctrl v去快速开发实现业务功能,但是在工作之余,我们也应该要注意静下心来去学习和提高自己.进阶的文章随性来写,不定时更新.希望可以和大家共同学习,共同进步.今天 ...
- Java基础-异常、断言
处理错误 如果Java程序运行期间出现了错误,并且由于出现错误导致某些操作没有完成,程序应该能够返回到一种安全状态,并能够让用户执行一些其他的命令:或者允许用户保存所有操作结果,并以妥善的方式终止程序 ...
- 【学习笔记】分布式Tensorflow
目录 分布式原理 单机多卡 多机多卡(分布式) 分布式的架构 节点之间的关系 分布式的模式 数据并行 同步更新和异步更新 分布式API 分布式案例 Tensorflow的一个特色就是分布式计算.分布式 ...
- PHP 安装扩展 phpize
报错 执行 phpize 时, 报如下错误: grep: /usr/include/php/main/php.h: No such file or directory grep: /usr/inclu ...
- 你应该学会的Python多版本管理工具Pyenv
目录 Pyenv 简介 安装pyenv 通过pyenv安装python各种发行版 pyenv命令 多版本Python的管理 Pyenv常见问题Wiki Pyenv 简介 首先,该工具是在类linux环 ...
- MySQL数据连表查询思路
我们在网站开发中,涉及MySQL数据库查询时,常常需要将两个表或多个表联合起来进行查询数据,这就用到了MySQL中的JOIN函数. JOIN函数有三种,分别是: LEFT JOIN 左连接查询: 查 ...
- 一个基于OCV的人肉选取特征点程序
基于OpenCV写了一个交互式获取图片上的人肉选取的特征,并保存到文件的小程序. 典型应用场景:当在一个精度不高的应用需求中,相机分辨率差或者变形严重,某些棋盘点通过代码检测不出,就可以通过手工选取的 ...
- Android Studio教程05-Parcelables和Bundles.md
Parcelable并且Bundle对象旨在用于跨IPC / Binder事务等进程边界,活动与意图之间以及跨配置更改存储瞬态.本页面提供使用Parcelable和Bundle对象的建议和最佳实践 . ...
- 深入浅出ES6教程模块化
大家好,本人名叫苏日俪格,大家叫我 (格格) 就好,在上一章节中我们学到了Promise的用法,下面我们一起来继续学习模块化: JavaScript本身是不支持模块化的,只不过后来一些社区的大佬制定了 ...