该工具在业界引起巨大反响。总结该成果的发表论文The HiBench benchmark suite: Characterization of the MapReduce-based data analysis[]被广泛引用,仅国际权威学术期刊">IEEE上发表的引用它的论文就有7篇之多。Intel已将该工具的源代码提交给Apache,社区反映相当热烈。
IEEE论文链接
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=5452747
下载地址
https://github.com/intel-hadoop/HiBench
测试准备:
1. 从https://github.com/intel-hadoop/HiBench上下载HiBench到主节点上。
2. 打开hibench-master/bin/hibench-config.sh,在第27-30行中补上Hadoop目录位置:
HADOOP_EXECUTABLE= /usr/lib/hadoop/conf/bin/hadoop
HADOOP_CONF_DIR = /usr/lib/hadoop/conf
HADOOP_EXAMPLES_JAR=/usr/lib/hadoop/hadoop-examples-1.0.3-Intel.jar
在/usr/lib/hadoop/conf目录下,打开hadoop-env.sh,27行去掉#号,改为
exportJAVA_HOME=/usr/java/latest
3. 打开hive和hbase功能;参数都在各个测试目录下的conf目录中设置,之后在bin目录中执行。
Hibench-dfsioe
测试目的:
通过同时执行大量读写任务来测试集群的吞吐量,包括每个map任务的I/O速率和吞吐量,以及HDFS的综合吞吐量。
参数设置:
RD_NUM_OF_FILES=256
RD_FILE_SIZE=200
WT_NUM_OF_FILES=256
WT_FILE_SIZE=100
测试命令:
在dfsioe/bin下依次执行 prepare-read.sh,run-read.sh,run-write.sh。
测试通过准则:
在hibench.report中输出:
Hibench-nutchindexing
MapReduce最重要的用途之一就是大规模搜索索引。该测试会自行产生大量的web数据,然后通过nutch搜索引擎来搜索以及索引这些数据。
参数设置:
PAGES=100000
NUM_MAPS=96
NUM_REDS=48
测试命令:
在nutchindexing/bin下依次执行 prepare.sh,run.sh。
测试通过准则:
在hibench.report中输出:
Hibench-bayes
测试目的:
MapReduce的另一个功能就是大规模机器学习,该测试同样会自行产生大量数据以供Mahout机器学习库处理。
参数设置:
PAGES=40000
CLASSES=100
NUM_MAPS=96
NUM_REDS=48
NGRAMS=3
测试命令:
在bayes/bin下依次执行 prepare.sh,run.sh。
测试通过准则:
在hibench.report中输出:
Hibench-hivebench
测试目的:
这个负载的开发基于SIGMOD 09的一篇论文“A Comparison of Approaches to Large-Scale Data Analysis”和HIVE-396,包含执行典型OLAP查询的Hive查询(Aggregation and Join),使用自动生成的Web数据,Web数据中的链接符合Zipfian分布。
参数设置:
NUM_MAPS=96
NUM_REDS=48
测试命令:
在hivebench/bin下依次执行 prepare.sh,run-aggregation.sh,run-jion.sh。
测试通过准则:
在hibench.report中输出:
测试结果:
测试结果: