大家好,我是rainbowzhou。
在【rainbowzhou 面试8/101】技术提问–如何进行大数据基准测试? 中,我介绍了如何进行大数据基准测试。本篇来说说常见的一些大数据基准测试工具,希望对大家有所帮助。
常见的基准测试工具
目前,大数据基准测试工具种类丰富,大致可以划分为3类:微型负载专用工具、综合类测试工具和端到端的测试工具。下表列举了这3类常用基准测试工具。
分类工具名称测试场景备注微型负载专用工具TeraSort文本数据排序Hadoop自带的工具微型负载专用工具GridmixHadoop集群性能Hadoop自带的工具微型负载专用工具TestDFSIOHDFS基准性能测试Hadoop自带的工具微型负载专用工具PerformanceEvaluationHBase性能测试Hadoop自带的工具微型负载专用工具NNBenchNameNode硬件加载过程Hadoop自带的工具微型负载专用工具MRBenchMapReduce小型作业的快速响应能力Hadoop自带的工具微型负载专用工具YCSBNoSQL数据库性能Yahoo微型负载专用工具sysbenchMySQL基准测试工具开源工具综合类测试工具HiBench微型负载搜索业务、机器学习和分析请求英特尔综合类测试工具CloudBM云数据管理系统基准测试CloudBM Web Solution综合类测试工具TPCx-HS kit在MapReduce或Spark流基础上的实时分析TPC端到端的测试工具BigBench大数据离线分析TPC
- 微型负载专用工具只测试大数据平台的某个特定组建和应用,包括TeraSort(针对文本数据排序)、YCSB(对比NoSQL数据库性能)等。
- 对于综合类测试工具,模拟几类典型应用,覆盖大数据平台的多个功能组件。例如HiBench,它是一款针对Hadoop和Hive平台的基准测试工具,其负载按照业务可以分为微型负载、搜索业务、机器学习和分析请求。
- 端到端的测试工具可应用到具体领域。例如BigBench,它应用于大数据离线分析场景。
以上三类基准测试工具优缺点如下表:
分类优点缺点微型负载专用工具效率高、成本低应用场景单一,无法衡量大数据平台性能综合类测试工具覆盖面较广,通用性好无特定业务场景端到端的测试工具与企业的应用场景结合紧密暂无
Hibench简介
Hibench是英特尔推出的一款大数据基准测试套件,有助于在速度、吞吐量和系统资源利用率方面评估不同的大数据框架。它包含一组Hadoop、Spark和流媒体工作负载,包括Sort、WordCount、TeraSort、Repartition、Sleep、SQL、PageRank、Nutch索引、Bayes、Kmeans、NWeight和增强的DFSIO等。它还包含Spark Streaming、Flink、Storm和Gearpump的几个流媒体工作负载。它是一个非常好用的测试大数据平台工具。HiBench的使用非常简单,只需以下3步:
- 配置:配置要测试的数据量、大数据运行环境和路径信息等基本参数;
- 初始化数据:生成准备计算的数据;
- 执行测试:运行对应的大数据计算程序;
HiBench基准测试案例
测试环境:
服务器配置:
测试目标集群:AWS EMR 5.32.0
多主集群:
master 3个节点,配置 m5.xlarge 4核16G,64G ssd通用存储
code 2个节点,配置 m5.xlarge 4核16G,64G ssd通用存储
集群软件配置:
集群安装软件:
Hive 2.3.7, Spark 2.4.7, HBase 1.4.13, Flink 1.11.2, ZooKeeper 3.4.14, Sqoop 1.4.7,Hadoop 发行版:Amazon 2.10.1
Core节点用于存储数据,运行数据。
Master 用于namenode等程序调度。
Yarn集群配置:<memory:18252, vCores:8>
测试工具
hibeach依赖:
hibeach 7.1.1
scala: 2.11.12
apache-maven-3.8.1
集群初始参数配置:
YARN:
mapreduce.map.java.opts -Xmx2458m
mapreduce.reduce.java.opts -Xmx4916m
mapreduce.map.memory.mb 3072
mapreduce.reduce.memory.mb 6144
yarn.app.mapreduce.am.resource.mb 6144
yarn.scheduler.minimum-allocation-mb 32
yarn.scheduler.maximum-allocation-mb 6144
yarn.nodemanager.resource.memory-mb 6144
HADOOP:
YARN_RESOURCEMANAGER_HEAPSIZE 2416
YARN_PROXYSERVER_HEAPSIZE 2416
YARN_NODEMANAGER_HEAPSIZE 2048
HADOOP_JOB_HISTORYSERVER_HEAPSIZE 2416
HADOOP_NAMENODE_HEAPSIZE 1843
HADOOP_DATANODE_HEAPSIZE 778
以上对常见的大数据基准测试工具进行了介绍,并且进行了案例介绍:使用Hibench基准测试工具,对EMR进行了部分基准测试。
参考资源:
- 大数据测试技术与实践
看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信我,一起探讨交流。
如果文章对你有帮助,欢迎扫码关注,记得在看、点赞、转发、加关注哦!
版权归原作者 rainbowzhouj 所有, 如有侵权,请联系我们删除。