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

校验数据为空,排序功能正常

猜你喜欢

转载自www.cnblogs.com/zhichaoma/p/9962257.html