论文部分内容阅读
随着数据时代来临,不同行业对数据信息资源的认知也在不断加深,如何更加快速准确地处理数据信息成为当今每个行业都需要面临的问题,因而出现了分布式大规模数据处理计算框架。但是Spark平台的配置参数指标众多,往往需要根据使用经验在特定的业务场景下进行手动配置修改。因此,使得其在被使用时往往不能达到最佳的平台性能。Spark平台的内存调度方式提供了 FIFO和FAIR这两种解决方案,然而并没考虑一些极端情况下因内存资源分配不当而出现内存溢出异常等问题,这将造成平台性能的下降和集群资源的浪费。针对上述的问题,本文研究分为两个部分:其一,深入研究并分析了 Spark平台的配置参数值对集群性能的影响,通过查阅相关文献并了解到利用黑盒原理配置参数值,通过研究机器学习中的算法模型理论,提出了基于lightGBM的Spark平台配置参数性能模型,该模型根据历史运行数据以及输入数据大小,自动选择对应的配置参数值使得平台性能达到能够适应不同业务场景的需求。深入剖析贝叶斯优化方法,使用贝叶斯优化建立的配置参数性能模型,使得建立的模型更具有高效性以适应更多的业务需求,进而使得模型性能达到最佳状态。对实验数据分析,证明本文建立的模型能够更好地配置参数值,提升集群性能和执行效率。其二,分析Spark平台的内存分配方式并发现当任务数据大小和数据类型不合理时,内存使用会出现溢出异常,提出了基于长短作业的内存优化策略。该策略由计算Task反馈权重、基于反馈权重的内存分配以及任务多级反馈调度方法三部分组成。通过以Task任务读写数据速度与时间分为长短作业,并依据Task在本地调度级别共同计算出Task的反馈权重以及优先级,先以反馈权重分配内存空间,然后使用调度策略执行Task。使用不均匀的长短作业数据证明了本文提出的内存优化策略更大程度上合理分配内存资源。