展會信息港展會大全

大數(shù)據(jù)Hadoop基準(zhǔn)測試標(biāo)準(zhǔn)你知道嗎?
來源:互聯(lián)網(wǎng)   發(fā)布日期:2021-02-06 17:48:41   瀏覽:30427次  

導(dǎo)讀:隨著開源Hapdoop、Map/Reduce、Spark、HDFS、HBASE等技術(shù)的商用化,大數(shù)據(jù)管理技術(shù)得到了突飛猛進(jìn)的發(fā)展。 利用hadoop自帶基準(zhǔn)測試工具包進(jìn)行集群性能測試,測試平臺為CDH5.16上hadoop2.6版本。 目錄 /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/ 使用T...

隨著開源Hapdoop、Map/Reduce、Spark、HDFS、HBASE等技術(shù)的商用化,大數(shù)據(jù)管理技術(shù)得到了突飛猛進(jìn)的發(fā)展。

利用hadoop自帶基準(zhǔn)測試工具包進(jìn)行集群性能測試,測試平臺為CDH5.16上hadoop2.6版本。

目錄 /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/

使用TestDFSIO、mrbench、nnbench、Terasort 、sort 幾個使用較廣的基準(zhǔn)測試程序。

hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-tests.jar

一、TestDFSIO

TestDFSIO用于測試HDFS的IO性能,使用一個MapReduce作業(yè)來并發(fā)地執(zhí)行讀寫操作,每個map任務(wù)用于讀或?qū)懨總文件,map的輸出用于收集與處理文件相關(guān)的統(tǒng)計信息,reduce用于累積統(tǒng)計信息,并產(chǎn)生summary。

1. 測試HDFS寫性能

測試內(nèi)容:向HDFS集群寫10個128M的文件:

sudo -uhdfs hadoop jar \/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-tests.jar \TestDFSIO \-write \-nrFiles 10 \-size 128MB \-resFile /tmp/TestDFSIO_results.log

查看結(jié)果:

cat /tmp/TestDFSIO_results.log

2. 測試HDFS讀性能

測試內(nèi)容:讀取HDFS集群10個128M的文件

sudo -uhdfs hadoop jar \/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-tests.jar \TestDFSIO \-read \-nrFiles 10 \-size 128MB \-resFile /tmp/TestDFSIO_results.log

3. 清除測試數(shù)據(jù)

sudo -uhdfs hadoop jar \/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-tests.jar \TestDFSIO -clean

二、nnbench

nnbench用于測試NameNode的負(fù)載,它會生成很多與HDFS相關(guān)的請求,給NameNode施加較大的壓力。這個測試能在HDFS上模擬創(chuàng)建、讀娶重命名和刪除文件等操作。

測試使用10個mapper和5個reducer來創(chuàng)建1000個文件:

sudo -uhdfs hadoop jar \/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-tests.jar nnbench \-operation create_write \-maps 10 \-reduces 5 \-blockSize 1 \-bytesToWrite 0 \-numberOfFiles 1000 \-replicationFactorPerFile 3 \-readFileAfterOpen true \-baseDir /benchmarks/NNBench-`hostname`

三、mrbench

mrbench會多次重復(fù)執(zhí)行一個小作業(yè),用于檢查在機(jī)群上小作業(yè)的運(yùn)行是否可重復(fù)以及運(yùn)行是否高效。

測試運(yùn)行一個作業(yè)50次:

sudo -uhdfs hadoop jar \/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-tests.jar \mrbench \-numRuns 50 \-maps 10 \-reduces 5 \-inputLines 10 \-inputType descending

四、Terasort

Terasort是測試Hadoop的一個有效的排序程序。通過Hadoop自帶的Terasort排序程序,測試不同的Map任務(wù)和Reduce任務(wù)數(shù)量,對Hadoop性能的影響。實(shí)驗(yàn)數(shù)據(jù)由程序中的teragen程序生成,數(shù)量為1G和10G。

一個TeraSort測試需要按三步:

1. TeraGen生成隨機(jī)數(shù)據(jù)

2. TeraSort對數(shù)據(jù)排序

3. TeraValidate來驗(yàn)證TeraSort輸出的數(shù)據(jù)是否有序,如果檢測到問題,將亂序的key輸出到目錄

1. TeraGen生成隨機(jī)數(shù),將結(jié)果輸出到目錄/tmp/examples/terasort-intput

sudo -uhdfs hadoop jar \/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar \teragen 10000000 /tmp/examples/terasort-input

2. TeraSort排序,將結(jié)果輸出到目錄/tmp/examples/terasort-output

sudo -uhdfs hadoop jar \/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar \terasort /tmp/examples/terasort-input /tmp/examples/terasort-output

3.TeraValidate驗(yàn)證,如果檢測到問題,將亂序的key輸出到目錄/tmp/examples/terasort-validate

sudo -uhdfs hadoop jar \/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar \teravalidate /tmp/examples/terasort-output /tmp/examples/terasort-validate

TPC-DS

1. TPC-H

TPC-H是一款面向商品零售業(yè)的決策支持系統(tǒng)測試基準(zhǔn),它定義了8張表,22個查詢,遵循SQL92。TPC-H基準(zhǔn)的數(shù)據(jù)庫模式遵循第三范式,葉曉俊教授等學(xué)者認(rèn)為“它的數(shù)據(jù)表數(shù)據(jù)特征單一(如數(shù)據(jù)不傾斜) ,其數(shù)據(jù)維護(hù)功能僅僅限制了潛在的對索引的過度使用,而沒有測試DBMS 執(zhí)行真實(shí)數(shù)據(jù)維護(hù)操作數(shù)據(jù)提娶轉(zhuǎn)換和加載(ETL) 功能的能力”。同時,新興的數(shù)據(jù)倉庫開始采用新的模型,如星型模型、雪花模型。TPC-H已經(jīng)不能精準(zhǔn)反映當(dāng)今數(shù)據(jù)庫系統(tǒng)的真實(shí)性能。為此,TPC組織推出了新一代的面向決策應(yīng)用的TPC-DS 基準(zhǔn)。

2. TPC-DS

TPC-DS采用星型、雪花型等多維數(shù)據(jù)模式。它包含7張事實(shí)表,17張緯度表平均每張表含有18列。其工作負(fù)載包含99個SQL查詢,覆蓋SQL99和2003的核心部分以及OLAP。這個測試集包含對大數(shù)據(jù)集的統(tǒng)計、報表生成、聯(lián)機(jī)查詢、數(shù)據(jù)挖掘等復(fù)雜應(yīng)用,測試用的數(shù)據(jù)和值是有傾斜的,與真實(shí)數(shù)據(jù)一致。可以說TPC-DS是與真實(shí)場景非常接近的一個測試集,也是難度較大的一個測試集。

TPC-DS的這個特點(diǎn)跟大數(shù)據(jù)的分析挖掘應(yīng)用非常類似。Hadoop等大數(shù)據(jù)分析技術(shù)也是對海量數(shù)據(jù)進(jìn)行大規(guī)模的數(shù)據(jù)分析和深度挖掘,也包含交互式聯(lián)機(jī)查詢和統(tǒng)計報表類應(yīng)用,同時大數(shù)據(jù)的數(shù)據(jù)質(zhì)量也較低,數(shù)據(jù)分布是真實(shí)而不均勻的。因此TPC-DS成為客觀衡量多個不同Hadoop版本以及SQL on Hadoop技術(shù)的最佳測試集。這個基準(zhǔn)測試有以下幾個主要特點(diǎn):

一共99個測試案例,遵循SQL’99和SQL 2003的語法標(biāo)準(zhǔn),SQL案例比較復(fù)雜

分析的數(shù)據(jù)量大,并且測試案例是在回答真實(shí)的商業(yè)問題

測試案例中包含各種業(yè)務(wù)模型(如分析報告型,迭代式的聯(lián)機(jī)分析型,數(shù)據(jù)挖掘型等)

幾乎所有的測試案例都有很高的IO負(fù)載和CPU計算需求

3. TPC-DS認(rèn)證現(xiàn)狀

TPC-DS以其高標(biāo)準(zhǔn)、高要求得到大家的廣泛認(rèn)知,理應(yīng)得到廣泛的應(yīng)用,但是到目前為止還沒有任何廠商得到TPC官方的認(rèn)證。究其原因,本文認(rèn)為:

傳統(tǒng)的數(shù)據(jù)庫廠商,DBMS系統(tǒng)比較成熟,SQL的支持也相當(dāng)完善,但是其分布式、并行處理能力欠缺,導(dǎo)致其性能很差。所以傳統(tǒng)的廠商不愿意發(fā)布測試結(jié)果。新型的計算模型如Map/Reduce、spark,具有較好的并行處理能力,但是SQL的兼容性比較差,如HiveSQL、SparkSQL只支持40個SQL,從而也無法發(fā)布TPC-DS測試報告。盡管如此,各廠商還是通過非TPC官方的途徑發(fā)布TPC-DS的部分測試結(jié)果,以展現(xiàn)其在性能方面的提升。由此可見大家對TPC-DS的程接受度。

大數(shù)據(jù)評測基準(zhǔn)用于公平、客觀地評測不同大數(shù)據(jù)庫產(chǎn)品/平臺的功能和性能,對人們選擇合適的大數(shù)據(jù)分析決策系統(tǒng)具有重要的參考價值。隨著國內(nèi)外各代表性的Hadoop發(fā)行版廠商以TPC-DS為標(biāo)準(zhǔn)測評產(chǎn)品,TPC-DS也就逐漸成為了業(yè)界公認(rèn)的大數(shù)據(jù)系統(tǒng)測試基準(zhǔn)。但是隨著大數(shù)據(jù)應(yīng)用在各行各業(yè)的發(fā)展,測試基準(zhǔn)也需不斷與時俱進(jìn)。大數(shù)據(jù)測試基準(zhǔn)仍然面臨著諸多挑戰(zhàn),還需要政府、學(xué)術(shù)界和工業(yè)界的緊密合作。

(免責(zé)聲明:圖文來自網(wǎng)絡(luò),若有侵權(quán),請聯(lián)系禿頭程序員后臺刪除)

推薦閱讀

做了五年大數(shù)據(jù)開發(fā)工程師總結(jié)的的大數(shù)據(jù)學(xué)習(xí)路線

禿頭程序員

小米首發(fā)隔空充電,如科幻電影般的新技術(shù)!

禿頭程序員

我知道你在看


贊助本站

相關(guān)內(nèi)容
AiLab云推薦
推薦內(nèi)容
展開

熱門欄目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能實(shí)驗(yàn)室 版權(quán)所有    關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 公司動態(tài) | 免責(zé)聲明 | 隱私條款 | 工作機(jī)會 | 展會港