本文主要介绍:Hibench的使用以及Hibench测试相关配置
一、安装Hibench
1、下载Hibench
2、编译所有模块(注意:编译前,确保系统中已经安装好了maven)
命令:mvn -Dspark=2.1 -Dscala=2.11 clean package
3、编译指定模块
可根据需求只编译你需要测试的模块
如:只编译hadoop benchmarks
mvn -Phadoopbench -Dspark=2.1 -Dscala=2.11 clean package
如:只编译hadoop 和 Spark benchmarks
mvn -Phadoopbench -Psparkbench -Dspark=2.1 -Dscala=2.11 clean package
注意:目前支持的框架,如下:
hadoopbench、sparkbench、flinkbench、stormbench、gearpumbench。
以上Hibench安装完成

二、Hibench的配置使用
1、前提条件
1)、需要python2.x(>=2.6)
2)、需要linux bc命令,用于生成Hibench 报告,
bc解释详见:
若没有,则安装:yum install bc
3)、支持的hadoop版本apache hadoop2.x(经实测hadoop3.x也支持)、CDH5.x、HDP
4)、已经编译好了Hibench
5)、启动好hdfs、yarn集群
2、配置hadoop.conf
创建并编辑{Hibench_HOME}/conf/hadoop.conf
命令: cp {Hibench_HOME}/ conf/hadoop.conf.template {Hibench_HOME}/ conf/hadoop.conf
配置项说明
hibench.hadoop.home:hadoop安装目录
hibench.hadoop.executable:你的bin/hadoop所在目录,一般是{HADOOP_HOME}/bin/hadoop
hibench.hadoop.configure.dir:hadoop配置文件所在目录,一般位于HADOOP_HOME}/etc/hadoop
hibench.hdfs.master:hdfs上存储Hibench数据的目录,如:hdfs://localhost:8020/user/hibench
hibench.hadoop.release:hadoop发行版提供者,支持value:apache, cdh5, hdp
以下是样例,vim hadoop.conf
# Hadoop home
hibench.hadoop.home /opt/hadoop-3.0.0
# The path of hadoop executable
hibench.hadoop.executable /opt/hadoop-3.0.0/bin/hadoop
# Hadoop configraution directory
hibench.hadoop.configure.dir /opt/hadoop-3.0.0/etc/hadoop
# The root HDFS path to store HiBench data
hibench.hdfs.master hdfs://hadoopmaster:9820
# Hadoop release provider. Supported value: apache, cdh5, hdp
hibench.hadoop.release apache
3、运行一个workload
以下是一个使用例子
bin/workloads/micro/wordcount/prepare/prepare.sh ---产生测试数据(数据位于配置的hibench.hdfs.master指定的目录里面)
bin/workloads/micro/wordcount/hadoop/run.sh ---运行例子
说明:bin/run_all.sh能够用来运行所有位于conf/benchmarks.lst 和 conf/frameworks.lst中的workloads。
4、查看运行结果报告
执行详情见:{ Hibench_HOME }/report/hibench.report
5、补充:配置生成数据的大小
要改变输入数据的大小,在conf/hibench.conf配置文件中hibench.scale.profile属性的值即可,该值可选为tiny, small, large, huge, gigantic and bigdata。
具体数字修改查看详见conf/workloads/micro/wordcount.conf
6、修改conf/hibench.conf可以控制mapreduce运行时的并行度
hibench.default.map.parallelism mapper的数量
hibench.default.shuffle.parallelism reducer的数量

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐