HiBench是一款运行在Hadoop与Apache Spark平台上的大数据基准测试工具集,旨在帮助用户快速准确的了解系统的性能,适用于数据压缩、排序、数据查询等领域。
下面来介绍HiBench使用过程的完整攻略:
安装和配置
- 下载HiBench:HiBench的源代码可以从官网下载或者从GitHub上获取。
- 配置测试环境:由于HiBench的测试环境是分布式的,管理员需要按照官方文档搭建分布式测试环境。
- 配置HiBench: HiBench提供了一个可以自动生成配置的脚本,可以直接运行。
运行测试
- 进入HiBench的根目录:
$ cd hibench
- 执行
bin/workloads/<workload-name>/prepare/prepare.sh
脚本准备测试数据。 - 执行
bin/workloads/<workload-name>/run.sh
脚本运行测试。 - 执行
bin/workloads/<workload-name>/cleanup/cleanup.sh
脚本清除测试数据。
注:workload-name是需要运行的测试工作负载名称。
常用测试工作负载
HiBench提供多个测试工作负载,包括数据压缩、排序、数据查询等方面,以下是常用的测试工作负载:
- TestDFSIO:数据读写测试,测试分布式文件系统的吞吐量和I/O性能。
- TestSort:对海量数据进行排序,测试分布式文件系统和网络传输的性能。
- TestHDFSReadWrite:测试分布式文件系统读写性能。
- TestSparkPI:基于Apache Spark的PI值计算测试,测试异构计算节点集群的计算性能。
下面以TestDFSIO为例,说明如何运行测试:
- 进入HiBench的根目录:
$ cd hibench
- 进入TestDFSIO目录:
$ cd workloads/TestDFSIO
- 修改配置文件:
$ vim conf/dfsioe.xml
,将<property><name>dfsioe.block.size</name><value>134217728</value></property>
将value改为32768。 - 执行准备数据脚本:
$ ./prepare.sh
- 执行测试脚本:
$ ./run.sh
- 执行清除数据脚本:
$ ./cleanup.sh
注:步骤3的修改配置是可选的,若不修改则使用默认配置。
结果解释
HiBench的测试结果包含两类:
- 日志:测试结果以日志和输出文件的形式存储在日志目录中。
- 统计数据:HiBench提供了一个perf-report脚本,可以根据日志文件生成对应的统计数据。
对于TestDFSIO工作负载,HiBench会输出以下几个统计数据:
- Throughput : 吞吐量(单位为MB/s)。
- IO rate: 输入格式于输出格式的速度(单位为MB/s)。
- IO latency:单个数据块的平均I/O延迟时间。
通过解释这些数据,可以帮助测试人员尽快评估数据处理环境的原始性能。
以上就是HiBench的完整攻略,各项测试工作负载都可以按照上述方式操作。