一、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