元數(shù)據(jù)性能測試
本文介紹元數(shù)據(jù)在create_write、open_read、rename和delete等操作上的性能測試方法。
注意事項
在進(jìn)行open_read、rename、delete測試之前要確保文件存儲 HDFS 版上已存在待測數(shù)據(jù)。如果不存在待測數(shù)據(jù),請先使用create_open創(chuàng)建待測數(shù)據(jù)。
測試環(huán)境
配置名稱 | 配置說明 |
計算VM配置 | CPU核數(shù):4核 |
內(nèi)存:16 GB | |
機(jī)器數(shù)量:6臺 | |
網(wǎng)絡(luò)帶寬:1.5 Gbps | |
文件存儲 HDFS 版配置 | 實例大小:10 TB |
吞吐限速:1000 MB/s | |
軟件配置 | Apache Hadoop:Hadoop 2.7.6 |
測試工具
NNbench是Hadoop系統(tǒng)自帶的基準(zhǔn)測試組件,NNbench用于測試元數(shù)據(jù)操作的性能。
NNbench的jar包位于${HADOOP_HOME}/share/hadoop/mapreduce目錄下,${HADOOP_HOME}為測試機(jī)器中的Hadoop 安裝目錄,NNbench的jar包名為hadoop-mapreduce-client-jobclient-x.x.x-tests.jar,使用方法如下。
本文所有命令均在${HADOOP_HOME}/bin目錄下執(zhí)行。
執(zhí)行命令,查看使用方式
./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.6-tests.jar nnbench
使用方式
Usage: nnbench <options> Options: -operation <可用操作是create_write open_read rename delete.必選項> -maps <map數(shù)量.默認(rèn)值為1。非必選項> -reduces <reduce數(shù)量.默認(rèn)值為1.非必選項> -blockSize <塊大小(以字節(jié)為單位).默認(rèn)值為1.非必選項> -bytesToWrite <要寫入的字節(jié)數(shù).默認(rèn)值為0.非必選項> -bytesPerChecksum <文件的每個校驗和的字節(jié)數(shù).默認(rèn)值為1.非必選項> -numberOfFiles <要創(chuàng)建的文件數(shù).默認(rèn)值為1.非必選項> -baseDir <DFS存儲路徑.默認(rèn)是/benchmark/NNBench.非必選項> -readFileAfterOpen <true或false.如果為true,則讀取文件并報告平均讀取時間.默認(rèn)為false.非必選項>
create_write性能測試
使用20個Map,10個Reduce的MapReduce作業(yè),創(chuàng)建1000個文件。
./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.6-tests.jar nnbench -maps 20 -reduces 10 -numberOfFiles 1000 -operation create_write
執(zhí)行如下命令查看在文件存儲 HDFS 版上面創(chuàng)建的文件數(shù)量及大小。
./hadoop fs -count -q -h /benchmarks/NNBench/io_data
查看生成的統(tǒng)計信息。
統(tǒng)計信息在當(dāng)前測試目錄下的NNBench_results.log文件中。
TPS表示每秒處理的事務(wù)個數(shù),測試結(jié)果為1987。
open_read性能測試
使用20個Map、10個Reduce的MapReduce作業(yè)打開1000個文件。
./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.6-tests.jar nnbench -maps 20 -reduces 10 -numberOfFiles 1000 -operation open_read
查看生成的統(tǒng)計信息。
統(tǒng)計信息在當(dāng)前測試目錄下的NNBench_results.log文件中。
TPS表示每秒處理的事務(wù)個數(shù),測試結(jié)果為7174。
rename性能測試
使用20個Map,10個Reduce的MapReduce作業(yè)來重命名1000個文件。
./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.6-tests.jar nnbench -maps 20 -reduces 10 -numberOfFiles 1000 -operation rename
查看生成的統(tǒng)計信息。
統(tǒng)計信息在當(dāng)前測試目錄下的NNBench_results.log文件中。
TPS表示每秒處理的事務(wù)個數(shù),測試結(jié)果為3469。
delete性能測試
使用20個Map,10個Reduce的MapReduce作業(yè)來刪除1000個文件。
./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.6-tests.jar nnbench -maps 20 -reduces 10 -numberOfFiles 1000 -operation delete
查看生成的統(tǒng)計信息。
統(tǒng)計信息在當(dāng)前測試目錄下的NNBench_results.log文件中。
TPS表示每秒處理的事務(wù)個數(shù),測試結(jié)果為10887。