hanky 2011-07-29
一、背景
由于以前没有细看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都会有一些提示帮助,不过建议还是看看源码,更清晰。