论文部分内容阅读
随着移动互联网的兴起,电信运行商的用户激增,所拥有的用户数量达到了亿级。电信运营商一个部门的月使用数据量就达到了 PB级别,并且运营商内部越来越多的部门也发现了巨量数据所带来的应用价值。联通原有的Spark大数据平台仅为一项业务提供支撑,且各类操作必须通过命令行进行交互,对新的用户不是很友好,学习成本也相对较高,若使用人数增多还会带来资源管理混乱问题。为支持多个部门的大数据作业,需要将原有的Spark平台升级改造为多租户资源共享平台,因此确立了 Spark大数据共享平台项目的开发。作者在项目开发过程中首先参与了项目的可行性分析与需求分析,分析平台的各项需求,确立项目总体目标。根据平台需求将平台划分为数据仓库管理模块、计算任务管理模块、内存文件管理模块、平台监控模块以及用户管理模块。其次在概要设计中,作者依据平台需求分析设计了平台总体架构、执行流程及数据库表,并画出平台架构图、模块层次图及数据库实体联系图。在概要设计基础上进行平台详细设计,作者采用Spark计算引擎、Hive数据仓库、MySQL数据库、InfluxDB时序库及Akka工具包等设计并开发了平台各模块组件。针对数据仓库管理模块和计算任务管理模块资源消耗较大的特性,将模块设计为服务集群以提高服务的性能与扩展性。作者在设计集群时,调研了各类负载均衡算法,根据任务所需资源选用适当的算法实现任务的负载均衡。在数据仓库管理模块中,作者设计实现了分布式数据仓库连接池,将连接池的连接类型划分为长连接与短连接,在提升了数据仓库的连接速度的同时保证短SQL优先执行。在开发平台监控模块时,作者采用InfluxDB时序库存储各采集组件采集到的监控数据,以保证程序的响应速度。当监控模块监测到异常时会将信息发送至故障处理组件,组件根据异常类型做出不同处理,管理人员不必时刻关系平台的运行情况,当平台出现问题时会自动通知管理人员,降低了运维成本。经多租户升级优化后的平台给用户带来了极大的便利,用户可更专注于业务的逻辑实现。平台会根据用户需求分配使用的资源,直观的展现任务运行情况。新平台已经通过了功能性测试和非功能性测试达到了上线标准,等待部署上线。