姚 晔 常广炎
(辽宁行政学院,辽宁 沈阳 110161)
基于云计算异构环境的Hadoop性能分析
姚 晔 常广炎
(辽宁行政学院,辽宁 沈阳 110161)
针对当前云服务发展中遇到的数据量急速增加为后台数据中心带来的数据处理问题,本文实施了Hadoop的性能测试。首先对云计算异构环境的Hadoop性能进行了描述,其次对Hadoop集群中两种节点的性能差别进行了分析,并给出了实验异构的平台的设计和实验结果。
云计算;异构环境;Hadoop
以往的以物理节点而设立的数据中心正在面临变革,在上个世纪诞生的被用于大型机的虚拟化技术,正在被逐渐部署到廉价通用硬件构成的基于X86的PC服务器上。和以往的物理机器不同,虚拟机中的中间层操作系统和上层的应用不会直接和底层硬件进行交互,而是需要通过VMM层和hypervisor才能和底层的硬件接触。通过在传统的数据中心中应用虚拟化技术,能够有效分配计算资源,催化了云计算服务在今天的广泛应用。本文研究了一个由虚拟机节点和物理机节点混合而成的异构云平台,并且在平台中实施了Hadoop的性能测试,分析了Hadoop在物理机和虚拟机混合环境下读写数据的实际性能,探究了在Hadoop集群中两种节点的性能差别,并且阐述了接下来需要开展的工作。
虚拟化技术能够实现虚拟机从当前的节点上向另一个节点无缝迁移,同时确保在实际迁移的过程中,相关机器中的程序还可以正常运行。虚拟化技术会在数据中心形成一个较大的资源池,这样相关的用户则是根据动态调整,进行资源的整合。在这个前提下,如果一个数据中心接入了互联网并且应用虚拟化技术,就能够为外部用户提供必要的租赁资源服务项目,也就是公共云服务。早在2006年,国际上著名的在线商务平台亚马逊公司就研发了弹性云计算服务(Elastic Cloud computing),通过虚拟机来为用户提供数据中心的相关计算资源。用户根据时间的长短和需求的不同来租用计算资源,并且支付租金。用户则是可以利用互联网将个人数据进行传输,将其传输到云平台上,这样将会对最终的结果进行计算。
除了公共云,云服务也考虑到了数据的可靠性和隐私性,将一些数据以及应用有效储存在企业的数据中心,同时对外界进行有效的服务,对于该服务模式则是为私有云服务。
3.1 虚拟平台的设计
实验平台主要包括4台PC,其中包括1台1U尺寸的Dell R410抽屉式服务器,还有3台是组装机。服务器配置:3块300G的SAS硬盘,1颗2.13G主频的四核Intel Xeon E5506 CPU,8G内存;组装机配置:4块容量2T的5900转Seagate SATA硬盘以及1块80GB的Inter固态硬盘,1颗主频2.8G四核Inter i5 760CPU,内存8GB。4台机器通过一个24口TP-Link的交换机连接而成,进而组成一个小型的局域网络。
在软件选择方面,使用Xen 3.0版本的整体虚拟化方案当作虚拟化软件,使用1台组装机来建设虚拟机VM,并且为这台虚拟机配置500GB硬盘空间、7G内存以及4个VCPU,使其具有和物理节点相同的底层IO资源和计算资源。所有VM运行和物理节点都是Centos 5.5 2.6.18内核的64bits操作系统,使用0.20.2版本的Hadoop,块的副本数是3,HDFS中文件块大小是64MB。在Hadoop架构中的Master节点是Dell服务器。Slaves节点是虚拟机VM和2台物理组装机[1]。
3.2 具体实验设计
虚拟化将会导致IO的开销较大,这样就必须要对Hadoop集群中虚拟机节点和物理机节点等磁盘读写性能进行有效的测试,从而对其性能进行有效的对照。另外,对于dd命令来说,在每次进行设计的过程中,写入设计的容量为32M。而后连续写入100次,达到3.2G的总写入数据量。在这个过程中,同时也要有效保证dd命令的附加参数conv等于fdatasync,这样将会让最终的数据无法写入到内存缓存就返回,而是被写入到磁盘中。所有节点都需要连续进行6次速度测试。
为了有效保证磁盘读写性能的真实性,必须要运用hdparmt命令(dd命令测试得到的并不是实际的磁盘读速度)。同时也要对每个阶段进行多次的测试工作,以此来保证测试结果的稳定性。
现今在Hadoop平台中,有效运用TestDFSIO和sort这两个典型的benchmark进行平台性能测试。关于TestDFSIO benchmark,是利用MapReduce中单个作业的方式来进行HDFS文件系统多文件的读写性能测试。读写每一个文件都是通过单独的map任务来实现。在实验过程中,设计一次读写文件的容量大小为1000MB,同时检测map数也就是并发文件数为8、6、3时的集群HDFS IO性能。关于sort benchmark,是利用HDFS文件系统里的相关二进制数据集来排序,并且在HDFS系统中写入经过排序的数据集。这里的sort代表在Hadoop中的特殊应用,具体地说,是输入数据集记录大小和内容不变,但是经过洗牌过程后,每个记录之间的位置根据顺序再次排列。在实验过程中,首先使用Hadoop中的randomwriter作业来生成2G和27G的两种大小不同的随机二进制文件,当作sort的输入。首先,执行sort benchmark(对于27G的数据集),而后记录虚拟机节点和物理机节点VMs的reduce和map阶段的实际处理时间,再连续执行3次Sort benchmark(对于2G的输入文件)。
4.1 磁盘的读写性能测试
对于Hadoop的数据密集型应用来说,其中数据的处理性能与相关的底层节点数据读写速度之间存在较大的关系。因此在进行集群性能的测试前,必须要对每个节点的读写性能进行有效的检测。对于读速度来说,VM在经过一定的预热之后,其读速度稳定在80MB/s左右,大概是PMs读速度的75%左右。对于写速度来说,虚拟机节点VM的性能大大落后于物理机节点PMs,前者的速度是后者的23%左右。相应的实验结果证明,读性能的开销要远远小于写性能的开销。在写性能方面,VM和PM的差距较大,会让应用Hadoop的过程中,数据写入频率较大[2]。
4.2 HDFS文件系统的吞吐量测试
要想有效对整个集群的IO性能进行检测,其中最为重要的是吞吐量的指标。在海量数据的应用中,其底层文件系统必须具备一定的吞吐量,从而发挥其优点。
在进行实验的过程中,要对每个阶段的数据量进行有效分配。而且在写数据的执行过程中,TestDFS中的相关任务没有被正常备份执行,类似于木桶效应,总的完成时间和写速度最慢的节点的最终完成时间密切相关。虚拟机阶段VM点的写性能不理想,大约为17MB/S。因此整个集群的吞吐量也和VM节点的写速度相关。实验测得集群的实际写吞吐量在13MB到18MB之间,这验证了相关的推测。
相应地,最后一个完成写任务的节点的读速度和集群的读吞吐量密切相关。后续的磁盘读写性能测试结果中,虚拟机节点VM和物理机节点PMs的读速度平均是80MB/s和110MB/s。而集群的度吞吐量大概在70MB/s左右,和磁盘的读写性能相符。实验得出,如果任务数是3,那么测试吞吐量最小。如果任务数是8,那么测试吞吐量最大[3]。
4.3 sort benchmark
在实验过程中,排序随机产生的数据集,并且记录相应的时间,因为这是测试大规模分布式、高性能计算系统的核心指标。首先运行数据量为27G的sort benchmark,实验得出,如果数据量小,在内存中进行完整的sort排序过程,没有产生磁盘往返IO;如果数据量大,而且内存缓存区不能进行储存,就会产生大量的磁盘往返IO。物理机节点PMs写速度远远大于虚拟机节点VM写速度,所以VM在sort阶段需要花费更多时间。为了验证相关的推测,又执行了数据量为2G的sort benchmark,重复三次执行,实验得出,在sort阶段,VM和PMS的执行时间基本没有差别(处理时间都是0)。
随着MapReduce在处理密集型数据方面的广泛应用以及云计算服务的全面流行,怎样在云平台上应用MapReduce来处理云平台中的大规模数据已经成为了一项研究热点。本文研究了一个由虚拟机节点和物理机节点混合而成的异构云平台,并且在平台中实施了相关的基于Hadoop的性能测试,其中包括各节点的HDFS文件系统吞吐量和读写性能,还有sort benchmark(基于MapReduce),进而分析了虚拟机的应用所导致的性能测试中的各种问题。希望能够为Hadoop平台的研究者提供有益的借鉴和参考。
[1]张密密.MapReduce模型在Hadoop实现中的性能分析及改进优化[D].成都:电子科技大学,2010.
[2]邓自立.云计算中的网络拓扑设计和Hadoop平台研究[D].合肥:中国科学技术大学,200 9.
[3]张涛.基于网格计算经济模型的资源调度算法研究[D].无锡:江南大学,200 6
[4]谌颃.基于Hadoop的标签推荐系统设计[J].电脑与电信,2015 (7):59-6 1.
Hadoop Performance Analysis of Heterogeneous Environment Based on Cloud Computing
Yao Ye Chang Guangyan
(Liaoning Academy of Governance,Shenyang 110161,Liaoning)
In view of the data processing problems in data center brought by the Rapid increase in data volume in the current development of cloud services,this article carries out the Hadoop performance testing.Firstly it describes to the Hadoop performance under cloud computing heterogeneous environment,then analyzes differences of performance between two kinds of nodes in Hadoop cluster,and gives out the experiment design and experimental results of heterogeneous platform.
cloud computing;heterogeneous environment;Hadoop
TP3
A
1008-6609(2016)10-0027-03
姚晔(19 73-),女,上海人,硕士,教授,研究方向为云计算。
2014年辽宁省社科立项课题《云计算在中小图书馆建设中的应用研究》,课题编号:L14B T Q00 5。