使用 Hibench 對 Spark 進行基準測試
阿新 • • 發佈:2018-12-13
文章目錄
概述
專案地址: Intel-hadoop/HiBench
Hibench 是 Intel 開源的大資料基準測試工具,可以評估不同大資料框架的速度,吞吐量和系統資源利用率。包括 Sort, WordCount, TeraSort, Sleep, SQL, PageRank, Nutch indexing, Bayes, Kmeans, NWeight 和 enhanced DFSIO等,還支援流任務的基準測試,例如 Spark Streaming, Flink, Storm 和 Gearpump。
環境準備
安裝
//獲取原始碼
wget https://github.com/intel-hadoop/HiBench/archive/HiBench-7.0.zip
//編譯spark相關模組
mvn -Phadoopbench -Psparkbench -Dspark=2.2 -Dscala=2.11 clean package
// 安裝 bc 用於生成 report 資訊
yum install bc
配置
conf/spark.conf
根據檔案提示配置相關的路徑和引數即可
conf/hadoop.conf
# Hadoop home hibench.hadoop.home /opt/cloudera/parcels/CDH/lib/hadoop # The path of hadoop executable hibench.hadoop.executable /opt/cloudera/parcels/CDH/bin/hadoop # Hadoop configraution directory hibench.hadoop.configure.dir /etc/hadoop/conf # hdfs namenode 地址或者 nameservice hibench.hdfs.master hdfs://localhost:8020 # Hadoop release provider. Supported value: apache, cdh5, hdp hibench.hadoop.release cdh5
conf/hibench.conf
# 生成測試資料的規模,預設有 tiny, small, large, huge, gigantic and bigdata,具體可以在對應benchmark的conf裡修改 hibench.scale.profile tiny # Mapper number in hadoop, partition number in Spark hibench.default.map.parallelism 8 # Reducer nubmer in hadoop, shuffle partition number in Spark hibench.default.shuffle.parallelism 8
執行
進行terasort 測試
配置
可以自定義資料規模
conf/workloads/micro/terasort.conf
#datagen
hibench.terasort.tiny.datasize 32000
hibench.terasort.small.datasize 3200000
hibench.terasort.large.datasize 32000000
hibench.terasort.huge.datasize 320000000
hibench.terasort.gigantic.datasize 3200000000
hibench.terasort.bigdata.datasize 6000000000
# 增加自定義的資料量
hibench.terasort.myscale.datasize 5242880
hibench.workload.datasize ${hibench.terasort.${hibench.scale.profile}.datasize}
# export for shell script
hibench.workload.input ${hibench.hdfs.data.dir}/Terasort/Input
hibench.workload.output ${hibench.hdfs.data.dir}/Terasort/Output%
在 hibench.conf 中 設定 hibench.scale.profile 為 myscale。
bin/workloads/micro/terasort/prepare/prepare.sh
bin/workloads/micro/terasort/spark/run.sh
檢視報告
report/hibench.report