Hibench对大数据平台CDH/HDP基准性能测试

一、部署方式

1.1、源码/包:https://github.com/Intel-bigdata/HiBench

部署方法:

https://github.com/Intel-bigdata/HiBench/blob/master/docs/build-hibench.md

注意:hibench执行需hadoop客户端jar包环境

如何使用HiBench进行基准测试说明:
https://cloud.tencent.com/developer/article/1158310

二、目录/文件简介

主要介绍下bin执行文件目录和conf配置文件目录。

·2.1配置文件目录--conf

benchmarks.lst 配置需测试项

frameworks.lst 配置测试hadoop或spark

hibench.conf 配置数据量级别及文件数等

hadoop.conf hadoop home、master等配置项

spark.conf spark home、master、 Yarn运行核数、内存等配置项

workloads目录 存放各种具体测试项配置文件

·2.2配置文件说明

|------------------------|----------------------|
| 文件名 | 主要用途 |
| benchmarks.lst | 主要用于配置benchmarks的模块 |
| flink.conf.template | Flink测试的配置参数 |
| frameworks.lst | 主要用于配置HiBench支持的测试框架 |
| gearpump.conf.template | gearpump测试相关配置文件 |
| hadoop.conf.template | Hadoop测试相关配置文件 |
| hibench.conf | HiBench配置文件 |
| spark.conf.template | Spark配置文件 |
| storm.conf.template | Strom配置文件 |

·2.3配置文件说明

··2.3.1. benchmarks.lst配置文件

主要用于配置benchmarks列表,配置如下,可以对不需要测试的模块进行屏蔽或者删除,在需要屏蔽在前面加"#"如下:(适用于执行run_all.sh)

··2.3.2. hadoop.conf.template配置文件

该配置文件主要用于配置Hadoop的环境,如果需要对Hadoop做benchmark测试则需要将该文件重命名为hadoop.conf。

编辑hadoop.conf文件,配置Hadoop环境,此处以CDH的目录配置为例,配置如下:

··2.3.3. spark.conf.template配置文件

主要用于配置Spark的环境及运行参数,如果需要测试Saprk框架则需要将该配置文件重命名为spark.conf。

编辑spark.conf文件,配置Spark的环境,此处以CDH的目录配置为例,配置如下:根据集群环境调整相应参数。

****··2.3.4.hibench.conf配置文件

主要配置HiBench的运行参数及HiBench各个模块的home环境配置,根据需要修改相应的配置参数:

主要关注参数hibench.scale.profile、hibench.default.map.parallelism和hibench.default.shuffle.parallelism配置:

hibench.scale.profile:主要配置HiBench测试的数据规模;

hibench.default.map.parallelism:主要配置MapReduce的Mapper数量;

hibench.default.shuffle.parallelism:配置Reduce数量;

注意:

也是生成的文件数,DFSIOE除外

例如 hibench.default.map.parallelism 10

wordcount.conf配置数据量为10000000字节(10M),10个文件,及每个文件为1M。

三、数据规模说明

HiBench的默认数据规模有:tiny, small, large, huge, gigantic andbigdata,在这几种数据规模之外Fayson还介绍如何自己指定数据量。

·3.1DFSIOE数据规模介绍及自定义

配置文件:${hibench.home}/conf/workloads/micro/dfsioe.conf

DFSIOE测试用例通过定义读或写的文件数和文件的大小来指定测试数据量的规模,如果需要自定义测试规模则修改文件数和文件的大小即可,文件大小以MB为单位。

例如:我需要自定义一个5TB数量级的DFSIOE测试,在hibench.conf文件中hibench.scale.profile配置的是mybigdata,需要在dfsioe.conf配置文件中增加读写文件数为5120,文件大小设置为1024,具体配置如下:

hibench.dfsioe.mybigdata.read.number_of_files 5120

hibench.dfsioe.mybigdata.read.file_size 1024

hibench.dfsioe.mybigdata.write.number_of_files 5120

hibench.dfsioe.mybigdata.write.file_size 1024

读写测试的数据量均为5TB = 5120 * 1024MB

·3.2举例配置单词统计测试项 数据量大小

进入/conf/workloads/micro目录下,修改wordcount.conf

注意: dfsioe单位:MB,terasort单位:kb,其他测试项单位为:字节。

四、执行文件目录--bin

方式一:

sh run_all.sh

通过在conf下文件配置好数据量及测试项,批量执行测试项测试,包含数据准备及运行。

方式二:

1、具体测试某一项,以单词统计举例,准备数据可进入

/bin/workloads/micro/wordcount/prepare/

执行prepare.sh

(可执行命令hadoop fs -du -h /Hibench/Wordcount 查看对应各个用例生成的测试数据及用例结果

删除测试数据:sudo -u hdfs hadoop fs -rm -r /Hibench/Wordcount)

2、运行测试,进入/bin/workloads/micro/wordcount/hadoop/ 执行run.sh

五、查看报告文件

进入/report下,查看 hibench.report,其中包含类型、执行日期和时间,数据量,主要关注:持续时间,吞吐量/秒和吞吐量/节点