一、背景
由于以前没有细看hadoop提供的测试工具,只是在关注hadoop本身的内容,所以很多的性能测试都忽略了。最近花了一周的时间准备做个性能测试,但是都是采用自己的方法得出的抽象值。今天看淘宝的博客,提到hadoop自带的测试工具,遂试了一把,记录一下,供以后参考。
二、使用
我做基准测试主要是用了hadoop-0.20.2-test.jar这个工具jar包。主要是做了I/O的测试。在网上也找了一些资料,抄抄谢谢记录如下:
DFSCIOTest
测试libhdfs中的分布式I/O的基准。Libhdfs是一个为C/C++应用程序提供HDFS文件服务的共享库。
DistributedFSCheck
文件系统一致性的分布式检查。
TestDFSIO
分布式的I/O基准。目前我就做了这个测试。输入参数:hadoop jar hadoop-0.20.2-test.jar TestDFSIO -write -nrFiles 10 -fileSize 1000,结果在同级目录下会有一个TestDFSIO_results.log,查看就可以了。完事记得执行hadoop jar hadoop-0.20.2-test.jar TestDFSIO -clean
clustertestdfs
对分布式文件系统的伪分布式测试。
dfsthroughput
测量HDFS的吞吐量。
filebench
SequenceFileInputFormat和SequenceFileOutputFormat的基准,这包含BLOCK压缩,RECORD压缩和非压缩的情况。TextInputFormat和TextOutputFormat的基准,包括压缩和非压缩的情况。
loadgen
通用的MapReduce加载产生器。
mapredtest
MapReduce作业的测试和检测。
mrbench
创建大量小作业的MapReduce基准。
nnbench
NameNode的性能基准。
testarrayfile
对有键值对的文本文件的测试。
testbigmapoutput
这是一个MapReduce作业,它用来处理不可分割的大文件来产生一个标志MapReduce作业。
testfilesystem
文件系统读写测试。
testipc
Hadoop核心的进程间交互测试。
testmapredsort
用于校验MapReduce框架的排序的程序。
testrpc
对远程过程调用的测试。
testsequencefile
对包含二进制键值对的文本文件的测试。
testsequencefileinputformat
对序列文件输入格式的测试。
testsetfile
对包含二进制键值对文本文件的测试。
testtextinputformat
对文本输入格式的测试。
threadedmapbench
对比输出一个排序块的Map作业和输出多个排序块的Map作业的性能。
三、总结
1、输入hadoop jar hadoop-0.20.2-test.jar都会有一些提示帮助,不过建议还是看看源码,更清晰。
2、这个文档我只要是测试内容增加我就更新。
3、有疑问随时欢迎发送邮件交流:dajuezhao@gmail.com