hadoop自带性能测试
一、TestDFSIO 读写性能测试
切换到目录: /opt/hadoop/share/hadoop/mapreduce/
清空数据
hadoop jar hadoop-mapreduce-client-jobclient-2.6.4.jar -clean
hadoop fs -ls /benchmarks/
写性能测试(10个mapper, 10G)
hadoop jar hadoop-mapreduce-client-jobclient-2.6.4.jar TestDFSIO -write 10 -size 10240MB
读性能测试(10个mapper, 10G)
hadoop jar hadoop-mapreduce-client-jobclient-2.6.4.jar TestDFSIO -read -nrFiles 10 -size 10240MB
namenode负载测试
查看nnbench选项
hadoop jar hadoop-mapreduce-client-jobclient-2.6.4.jar nnbench
nnbench用于测试NameNode的负载,它会生成很多与HDFS相关的请求,给NameNode施加较大的压力。这个测试能在HDFS上创建、读取、重命名和删除文件操作,下面例子使用10个mapper和5个reducer来创建1000个文件
hadoop jar hadoop-mapreduce-client-jobclient-2.6.4.jar nnbench -operation create_write -maps 10 -reduces 5 -numberOfFiles 1000 -replicationFactorPerFile 3 -readFileAfterOpen true
mrbench测试
mrbench会多次重复执行一个小作业,用于检查在机群上小作业的运行是否可重复以及运行是否高效。
下面的例子会运行一个小作业2次
# hadoop jar hadoop-mapreduce-client-jobclient-2.6.4.jar mrbench -numRuns 2
二、terasort 排序测试
排序测试的三个基本步骤:生成随机数据——>排序——>验证排序结果
关于terasort更详细的原理,见 http://blog.csdn.net/yuesichiu/article/details/17298563
1、生成随机数据(10个maps)
hadoop jar hadoop-mapreduce-examples-2.6.4.jar teragen -Dmapreduce.job.maps=10 10000000 /tmp/hadoop/terasort
2、运行测试(10个maps)
hadoop jar hadoop-mapreduce-examples-2.6.4.jar terasort -Dmapreduce.job.maps=10 /tmp/hadoop/terasort /tmp/hadoop/terasort_out
3、验证结果
hadoop jar hadoop-mapreduce-examples-2.6.4.jar teravalidate /tmp/hadoop/terasort_out /tmp/hadoop/terasort_report