1. 程式人生 > >使用 Hibench 對 Spark 進行基準測試

使用 Hibench 對 Spark 進行基準測試

文章目錄

概述

專案地址: 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
在這裡插入圖片描述