论文部分内容阅读
随着云计算的快速发展,计算机硬件和软件性能的提升以及技术的革新,近年来PaaS平台迎来了蓬勃发展。各种主流的开发框架和计算框架开始向云上迁移,提高了开发人员的工作效率。目前,PaaS平台提供的主要是基于单节点的框架或服务,比如程序开发软件、数据分析工具等。对于分布式框架,由于在云上集群化部署和管理存在一定的难度,目前在PaaS平台上的应用并不多。Spark分布式计算框架,作为目前最流行的大数据处理框架之一,开发人员对其需求也越来越大。由于人工部署一套Spark集群需要整合大量的计算资源,花费大量时间,集群资源的后续管理也存在诸多问题。因此,本文针对Spark集群服务,基于ansible自动化部署和管理工具,构建了一个具有集群自动化部署和管理功能的Spark PaaS平台,方便用户上传数据、提交并运行Spark任务。本文首先对相关技术进行分析,确定了构建Spark PaaS平台的可行性。接着对一些主流的自动化部署工具进行了研究分析,为ansible工具的选择提供理论依据。再结合实际的需求,提出了本平台的系统架构,将其划分为多个功能层。在此基础上,设计了通信模块、数据库模块、基础功能模块、集群管理模块、大文件传输模块,HDFS操作区模块、远程桌面服务模块、用户管理模块、日志管理模块等模块。之后,对各个功能模块,进行了详细的设计和实现。对于基础功能和集群管理模块,通过ansible服务,实现了小文件传输、远程命令执行、集群部署和删除、集群监控等功能。对于大文件传输模块,实现了分片快速上传以及断点续传功能。对于远程桌面服务,实现了自动登录功能。对于HDFS操作区模块,实现了通过web页面与HDFS进行交互的功能。最后,对Spark PaaS平台进行搭建部署,再对平台的各个模块进行了功能测试和性能测试,证明本Spark PaaS平台能够满足用户的需求并具有良好的体验。