论文部分内容阅读
互联网的快速发展和大数据时代的到来,使得各种集群计算框架不断涌现,统筹各种计算框架的资源分配和作业调度,并将此过程产生的数据可视化,是大型互联网公司亟待解决的问题。本文结合百度公司对分布式离线计算平台Neptune数据可视化的迫切需求,设计并实现了可扩展的PaaSWeb可视化系统。本文首先对百度Neptune平台进行了研究,结合其分布式数据的特点,采用RPC等技术获取远程数据,并根据可视化需求进行数据清洗。然后构建缓存,并定时更新。同时,构建统计数据,提取通用信息于配置文件中,增强系统易用性和可扩展性。最终实现分布式离线计算平台的作业执行数据与资源调度数据的可视化,达到为公司资源统筹分配提供辅助决策的研究目的。本文的主要工作如下:第一,介绍了本文的研究背景与研究意义,论述了本文涉及的百度专有名词、百度离线分布式计算资源在统筹调度方面面临的问题及采取的应对方案,简述了论文的研究内容与结构。第二,简述了分布式离线计算平台Neptune的系统结构、运行原理和数据分析。并基于此,分析了本文数据可视化系统PaaSWeb的需求和可行性,提出了系统架构和功能模块划分,设计了可视化展示的接口。第三,论述了 PaaSWeb系统的详细设计与实现。该工作可分为三大部分:(1)数据获取及清洗。包括制定远程Protobuf通信协议,封装客户端RPC函数,获取作业执行实时数据,封装本地接口对数据清洗;反序列化磁盘中的Meta文件,读取持久化的作业执行历史数据并清洗;构建过滤规则,动态生成数据库表名,获取Logstash库中的资源调度数据并清洗;通过调用Casio系统接口,获取其采集的资源调度数据;(2)用双缓冲队列存储数据并定时更新,解决作业执行数据产生速度频繁和并发访问的问题;(3)将获取的数据封装为Json API,然后,通过Ajax读取API中数据,利用Bootstrap和Echars框架,最终实现丰富的数据可视化展示效果。第四,搭建了系统运行环境,对运行效果进行了分析和展示。系统运行结果表明:本文的PaaSWeb系统可以直观地查看并分析分布式离线计算平台的作业执行情况和资源使用情况,证明了本文研究应用的有效性及实用性。