论文部分内容阅读
“大数据时代”的到来,对数据处理技术提出了新的要求和挑战,各类大数据计算框架应运而生(如Hadoop、Storm等),成为人们处理各类大数据需求的利器。同时,在大数据推动下,云计算也迅速发展,人们可以按需从云中租用资源并按量计费。在这两方面技术的碰撞下,云环境下大数据服务的概念被提出,即BDaaS(BigData-as-a-Service),其理念是将大数据计算处理过程作为云中的服务向外提供,用户只需专注大数据业务本身,而云会准备好大数据计算过程中的各种要素,其中著名的产品有:AWS EMR,Openstack Sahara等。然而,人们在实践BDaaS解决方案的过程中遇到许多困惑与局限,其中BDaaS的性能问题就是主要的关注点之一,人们常发现自己构建的BDaaS环境性能与预期相差甚远,远不能满足大数据业务的需求;而有时,在物理环境中适用的优化策略,在BDaaS中却难以发挥作用。人们迫切寻求相关的指导,而目前缺乏这方面系统的研究成果或方法。针对BDaaS性能问题,本文在阅读大量研究文献和分析现有产品的基础上,开展了深入系统的研究,课题以Openstack、Hadoop、Sahara作为具体环境,采用从特殊到一般的方法进行讨论。包括三方面工作,首先,分析并定义BDaaS性能问题,当大数据计算转移到云环境后,云环境中资源的管理与使用是主要影响因素之一,本文围绕这一核心,结合云环境的资源特性和不同应用场景,提出了基于MapReduce的BDaaS性能模型,借此可以更准确定位性能的影响因素,并指导优化;其次,测试并提出BDaaS主要的性能影响因素,课题开发一款自动化测试工具Doopshot,可高效的进行大量测试并收集数据,在此基础上,开展了五方面测试,全面衡量BDaaS的性能,提出约10条影响因素;最后,在Sahara中设计并实践具体优化,总体涉及三个方面,分别是块设备管理接口、虚拟化性能瓶颈、数据源使用策略,这些优化策略的设计思路也可以应用到其他BDaaS解决方案中。最后,本文通过实验对优化方案进行了验证,对比了传统大数据处理方案、原Sahara和优化方案共6种情形。总体而言,优化方案有显著性能提升,相比于Sahara的默认配置,新接口的配置在DFSIO中吞吐量提升了120%,使用缓存统一管理服务的设计,利用Tachyon可在特定情形下达到13倍的吞吐量提升;Sort工作负载的执行时间上,优化方案相比于原Sahara普遍下降了约50%,而内存利用率在我们的实验中从80%提高到了96%,不过在缓存隔离性等方面还有待改进。结果基本符合预期,这也证实了课题关于BDaaS性能研究的合理思路与价值。