`
hmilyzhangl
  • 浏览: 46295 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Hadoop 集群的基准测试

阅读更多

(转)测试环境:

12 个节点,每个节点的物理机配置为双核 CPU ,主频 2.60Hz,

内存 3G ,硬盘 250G ,网络带宽 100Mbps 以太网,虚拟机 VMware workstation 7.1.0 build-261024 ,平台 RHEL5.5 ,内核版本 2.6.18 ,,虚拟机配置为单核 CPU 1G 内存, Hadoop 版本为 0.20.2, HDFS 中每个文件块有 3 个备份。

测试目的:

掌握 Hadoop 集群的安装测试,总结有关 Hadoop 集群性能的规律和影响因素,针对相关配置做出性能优化的解决方案。

测试原理:

在物理机上安装 VMware 虚拟机,并在虚拟机上安装 RHEL5.5 ,下载并安装 Hadoop0.20.2 ,按照相关属性配置有关文件。更详细的集群搭建过程参照文档。

Hadoop 基准测试,在没有任务运行的集群上进行测试,基准测试主要使用 Hadoop 自带的一些基准测试程序。具体运行程序的方法参照相关文档。

1.      TestDFSIO 基准测试 HDFS

TestDFSIO 用来测试 HDFS I/O 性能,它通过使用 mapreduce 作业来完成测试作为并行读写文件的便捷方法,每个文件的读写都在单独的 map 任务中进行,并且 map 的输出可以用来收集统计刚处理过的文件,这个统计数据在 reduce 中累积起来得到一个汇总。

测试命令为:

% bin/hadoop  jar $HADOOP_INSTALL/hadoop-0.20.2-test.jar TestDFSIO –write

-nrFile 10

-fileSize 500

运行这个命令可进行写入基准测试,在运行的最后,结果被写入控制台并记录到本地文件 TestDFSIO_results.log ,文件默认写在、 benchmarks/TestDFSIO 目录下(可以通过设置 test.build.data 系统属性来改变),一个叫 io_data 的目录下。

使用 -read 选项运行可以进行读取基准测试。但注意,读取这些文件必须已经存在(由上一步的 TestDFSIO –write 写入):

% bin/hadoop  jar $HADOOP_INSTALL/hadoop-0.20.2-test.jar TestDFSIO –write

-nrFile 10

-fileSize 500

控制测试的变量,比如文件大小,集群节点数目,每个物理机上运行的虚拟机数量等。最后,由控制台输出和相关文件的记录进行分析,总结。

在对HDFS进行基准测试后,要通过参数 –clean HDFS 上删除所有生成的文件。

% bin/hadoop   jar $HADOOP_INSTALL/hadoop-0.20.2-test.jar TestDFSIO   –clean

2.      wordcount 测试 MapReduce 的性能

Wordcount Hadoop 自带的一个测试运行的小程序,它的输入是一个文本文件,输出是一个文本文件,每一行包含一个单词和它在输入文本中出现的频率,用制表符隔开。

运行命令如下:

%cat test.txt > /tmp/test.txt

%bin/hadoop dfs –mkdir test-in

%bin/hadoop dfs –copyFromLocal /tmp/test.txt test-in

% bin/hadoop jar $HADOOP_INSTALL/hadoop-0.20.2-example.jar

Wordcount test-in test-out

控制测试中的相关变量,比如文件大小,集群节点数目,每个物理机上运行的虚拟机数量等,重复运行几次,查看每次控制台中任务开始的时间和结束的时间,做记录和分析。

测试步骤:

1.           首先控制节点数量和每个物理机上的虚拟机数量,因为这两个变量在我们的测试中结果影响是一样的,所以归为一类,我们共有 3 台物理机,每台上面安装了 4 台虚拟机,共 12 个节点,我们控制每一台物理机上运行的虚拟机数量从 1 增加到 4 ,每次读写控制为 10 个文件,每个文件 5MB ,分别记录 TestDfsIO_results.log 文件记录的结果。也按这个控制方法运行一个 2KB 的文本文件作为输入的 wordcount 程序,记录程序运行时间。

我们设定不同规模的集群为 Vcloud

节点数

3

6

9

12

集群名称

Vcloud1

Vcloud2

Vcloud3

Vcloud4

 

2.           12 个节点全部运行起来,控制每次读写文件的大小,从 1MB 6MB ,分别记录 TestDfsIO_results.log 文件记录的结果。同这个规律一样的运行输入文件分别为 2KB 4KB 6KB 8KB wordcount 程序,并记录运行时间。

结果分析:

1 控制集群规模的 IO 读写测试

 

 

1 纵轴为运行写测试平均时间,横轴为不同规模的集群

 

 

2 纵轴为运行读测试平均时间,横轴为不同规模的集群。

 

2 控制读写文件大小测试 IO 读写性能

 

3 ,纵轴为平均写运行平均速度,横轴为文件大小

 

4 纵轴为平均读运行平均速度,横轴为文件大小

3 运行 wordcount 测试 MapReduce 性能

 

5 ,纵轴为一个 2KB 输入的文件平均运行时间,横轴为集群规模

 

6 纵轴为每个输入的 wordcount 运行平均时间,横轴为输入文件大小

结论和推断

对整体的 IO 读写测试和 MapReduce 的性能测试,由数据和图像分析可知总体的趋势为平均运行时间先减小在增大。

1.      对于控制集群规模的 IO 读 写可以明显看到读取数据的速度要比写入数据的速度快得大得多。对于相同的读写量随着集群规模的增长处理运行时间有减小的趋势,而后出现的随集群规模增大而 出现的增长主要是因为我们在测试中由于硬件配置和数量的限制,在每台物理机上运行更多的虚拟机时(以三台为界),虚拟机的性能受物理机性能(比如网络带 宽,内存大小等)限制,出现整体性能下降,导致读写运行时间增大。

2.      控制文件大小的 IO 读写测试

对于控制文件大小的测试中由图像和数据可知一开始随着文件大小的增加,出现了运行处理时间的减小,这说明 HDFS 很适合于处理较大规模的读写数据,但随着文件大小的增大相应的出现了平均运行时间的增大,这是由集群节点数目、硬件配置等原因出现的必然结果。但总体看来还是读取速度大于写入速度。

3.      控制集群规模的 MapReduce 性能测试

对于控制集群规模的 MapReduce 性能测试,整体趋势和控制集群规模的 IO 读写测试的趋势一致,影响原因也大致相同。

4.      控制输入文件大小的 MapReduce 性能测试

对于控制文件大小的 MapReduce 性能测试中数据和结果的分析可知,和控制文件大小的 IO 读写测试发展趋势基本相同,影响原因也基本一致。

5.      测试结果与华中科技大学的测试结果对比

相对于华科的测试,我们有以下几点不同 1. 我们没有进行物理机集群的测试; 2. 我们两个学校的硬件有很大不同,我们硬件的限制过早的出现了性能的限制瓶颈,集群规模也和华科有相对的差距。

6.      总体总结

这 次测试的结果是客观测试的结果,由其中的方法可以得到对于一个合理的虚拟集群,物理机上运行的虚拟机数量存在一个值,当同台物理机上虚拟机数量小于这个指 的时候,可假设各虚拟机之间的性能是平行互不干扰并且处于最优状态的。同台物理机上的虚拟机数量超过这个值虚拟机之间将互相影响,出现所有虚拟机的性能下 降,而且由多启动的虚拟机来增加集群规模对集群性能的提高指数远小于虚拟机整体性能下降对集群性能的降低指数,所以整体出现性能下降的情况。正是这个最佳 值将使虚拟机最大化的利用物理资源以提高计算性能。

  这次测试并未深入到 Hadoop 中的一些参数的设置对性能的影响,对于整体性能优化只对虚拟机得到有关的结论,在以后的测试中将继续探索其他的测试方法和测试角度。

分享到:
评论

相关推荐

    hadoop性能测试报告

    3. **Hadoop集群基准测试** - **写测试**:通过执行TestDFSIO工具,向Hadoop集群写入10个1000MB的文件,平均写入速率达到了约20.2MB/s,测试执行时间约为104.69秒。这意味着集群在写入大量数据时具有稳定的吞吐量。...

    Hadoop集群测试报告.pdf

    综上所述,这份Hadoop集群测试报告详细地介绍了集群的硬件配置、软件服务部署情况以及关键的Hadoop配置参数,并通过基准测试进一步验证了HDFS读写性能的实际表现。这对于评估Hadoop集群的整体性能和可靠性具有重要...

    hadoop集群通用wordcount测试程序

    "hadoop集群通用wordcount测试程序"是一个基于Hadoop实现的、不依赖特定平台的WordCount示例,它广泛应用于学习、研究以及性能基准测试。WordCount是Hadoop入门的经典案例,其主要任务是对文本中的单词进行计数。 ...

    hadoop集群安装_鲁德性能测试.doc

    YCSB是一个针对云数据库的基准测试工具,它可以模拟各种工作负载,帮助我们理解在不同场景下Hadoop集群的表现。 总的来说,搭建Hadoop集群涉及多个步骤,包括虚拟机环境的配置、Linux系统的安装、节点的复制与定制...

    HADOOP案例及测试资料

    "Hibench BenchMark suite.docx"涉及的是Hadoop的基准测试工具Hibench,它详细介绍了如何使用Hibench进行大数据处理性能的评估,包括各种工作负载的设定和结果分析,这对于评估和优化Hadoop集群性能至关重要。...

    Hadoop权威指南---中文版

    - **Hadoop集群基准测试**:介绍了如何对Hadoop集群进行基准测试,以评估其性能。 - **云计算中的Hadoop**:探讨了Hadoop在云计算环境下的应用和优势。 #### 十一、Hadoop的管理 - **HDFS管理**:介绍了如何管理和...

    搭建hadoop集群,到zookeeper包含ssh

    #### 五、集群基准测试与监控 1. **基本测试**: - 检查服务启动情况,确保各项服务正常运行。 - 测试HDFS的创建和删除功能。 - 运行简单的MapReduce程序验证集群的基本功能。 2. **基准测试**: - 对集群性能...

    Hadoop平台基准性能测试研究_张新玲.pdf

    ### Hadoop平台基准性能测试研究 #### 摘要与背景 随着移动互联网、物联网以及社交网络等技术的快速发展,全球的数据量呈现爆炸性增长,标志着我们已经步入大数据时代。IBM将大数据定义为具备三个核心特征的技术:...

    行业分类-设备装置-基于麒麟云计算平台的Hadoop集群自动化部署方法.zip

    7. **测试与优化**:部署完成后,进行功能测试和性能基准测试,确保集群正常运行,并根据实际情况进行优化调整。 8. **监控与维护**:部署自动化工具,如Ambari或Zabbix,对集群的运行状态进行实时监控,以便及时...

    TPCDS测试-99条Hive基准测试流程

    TPCDS(Transaction Processing Performance Council Data Warehouse Benchmark)是大数据领域常用的一种数据仓库基准测试套件,主要用于衡量数据仓库系统的性能。Hive作为Apache Hadoop生态系统中的一个数据仓库...

    Hadoop 分布式部署配置及基准性能测试

    为了建立一个高效的Hadoop集群,至少需要两台服务器,这里分别用作Master和Slave1。每台服务器应具备双核CPU、64GB DDR4内存和两块SATA HDD硬盘(直通模式),以及支持万兆网络连接的网卡。其中,万兆网卡的一个端口...

    hadoop-test-report.zip_hadoop_hadoop word_压力测试报告

    3. **集群扩展性**:测试Hadoop集群在增加节点时的性能提升程度。 4. **资源管理**:考察YARN(Yet Another Resource Negotiator)如何有效分配和管理资源。 5. **稳定性**:长时间运行压力测试以检测系统崩溃、数据...

    Hibench大数据基准测试手册 - 修订1.docx

    - **增强DFSIO**:该测试通过在Hadoop集群上同时执行大量的读写任务来测试HDFS的吞吐量。它测量每个map任务的平均I/O速率、吞吐量以及HDFS集群的聚合吞吐量。值得注意的是,该测试没有Spark对应的实现。 以上介绍了...

    Virtualized Hadoop Performance with VMware vSphere 6 on Servers

    该研究旨在评估并优化Hadoop集群在虚拟化环境中的表现,特别是在大数据处理场景下。通过一系列基准测试,我们不仅分析了不同配置下的性能差异,还探讨了如何利用虚拟化技术提高Hadoop的工作效率。 #### 引言 随着...

    JMeterPlugins-Hadoop-1.4.0

    JMeterPlugins-Hadoop-1.4.0是一个专门为Apache JMeter设计的插件集,旨在帮助测试人员更好地对Hadoop集群进行性能测试。这个版本提供了与Hadoop环境的无缝集成,允许用户直接在JMeter中编写和执行针对Hadoop作业的...

Global site tag (gtag.js) - Google Analytics