分享

hadoop2(2.2)集群基准测试


问题导读

1.如何测试集群性能?
2.如何测试整个MapReduce System?







《hadoop the definitive way》(third version)中的Benchmarking a Hadoop Cluster Test Cases的class在新的版本中已不再试hadoop-*-test.jar, 新版本中做BanchMark Test应采用如下方法:
1. TestDFSIO
write
TestDFSIO用来测试HDFS的I/O 性能,用一个MapReduce job来并行读取/写入文件, 每个文件在一个独立的map task里被读取或写入,而map的输出用来收集该文件被执行过程中的统计数据,
test1 写入2个文件,每个10MB
  1. %yarn jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar TestDFSIO -write -nrFiles 2 -fileSize 10
复制代码



提交job时的consol输出:
5.png

从consol输出可以看到:
(1)最终文件默认会被写入id_data文件夹下的/benchmarks/TestDFSIO文件夹下, 通过test.build.data的系统变量可以修改默认设置。
(2)2个map task (number of splits:2), 同时也证明每一个文件的写入或读取都被单独作为一个map task

job跑完后的console输出:
1.png
2.png
3.png
4.png

从图中可以看到map task 2, reduce task 1, 统计结果中有平均I/O速率,整体速率, job运行时间,写入文件数;
read
  1. %yarn jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar TestDFSIO -read -nrFiles 2 -fileSize 10
复制代码


就不仔细分析了,自己试试。
2. MapReduce Test with Sort
hadoop提供了一个MapReduce 程序,可以测试整个MapReduce System。此基准测试分三步:
# 产生random data
# sort data
# validate results
步骤如下:
1. 产生random data
  1. yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter random-data
复制代码


用RandomWriter产生random data, 在yarn上运行RandomWriter会启动一个MapReduce job, 每个node上默认启动10个map task, 每个map 会产生1GB的random data.
修改默认参数: test.randomwriter.maps_per_host, test.randomwrite.bytes_per_map
2. sort data
  1. yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar sort random-data sorted-data
复制代码



3.validate results
  1. yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar testmapredsort –sortInput randomdata –sortOutput sorted-data
复制代码


the command 会启动一个SortValidator 程序,此程序会做一些列检查例如检查unsorted和sorted data是否精确。
3. 其他Tests
MRBench –invoked by mrbench, 此程序会启动一个程序,运行多次
NNBench – invoked by nnbench, namenode上的负载测试




已有(1)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条