一种flink任务适配hadoop生态的系统和方法技术方案

技术编号:34496587 阅读:22 留言:0更新日期:2022-08-10 09:16
本发明专利技术提供一种flink任务适配hadoop生态的系统和方法,所述系统包括:应用层,用于构建fink任务并提交至代理服务层,以及用于向代理服务层向发出任务停止、任务续跑或任务试运行的信息;代理服务层,用于任务提交发布、任务停止、任务状态检查、任务续跑以及任务试运行请求;Hadoop层,用于执行flink任务,生成任务执行日志以及用于生成监控指标并将监控指标推送至监控层的Prometheus模块;监控服务层,用于将flink任务的运行状态及性能指标发送至代理服务层的任务检查模块;存储层,包括Redis、kafka、elasticsearch以及临时数据存储服务模块。根据本发明专利技术示例性实施例的flink任务适配hadoop生态的系统和方法,可提高系统对flink任务的操作性和可控性,节省系统资源,适用于各种数据治理的生产场景。各种数据治理的生产场景。各种数据治理的生产场景。

【技术实现步骤摘要】
一种flink任务适配hadoop生态的系统和方法


[0001]本专利技术涉及大数据服务领域,尤其涉及一种flink任务适配hadoop生态的系统和方法。

技术介绍

[0002]flink技术是一种基于大数据生态的实时计算任务,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。flink任务运行至yarn等大数据计算引擎后,将会实时常驻于计算引擎中,实时完成需要进行的计算任务等工作。
[0003]现有的flink提交或是单纯的在应用程序中提交flink任务到yarn集群的实现,仅仅是解决了Hadoop配置文件和第三方依赖jar包的部署问题,存在以下缺陷:1、单纯的适配了Hadoop配置文件和第三方依赖jar包的部署问题,只是通过服务层将flink任务提交到hadoop的yarn计算引擎,提交之后就脱离服务层控制,看似避免了不同应用程序之间可能存在的相互干扰,实际并未解决单个独本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种flink任务适配hadoop生态的系统,其特征在于,所述系统,包括:应用层,包括任务发布模块和任务管理模块,用于构建fink任务并提交至代理服务层,以及用于向代理服务层向发出任务停止、任务续跑或任务试运行的信息;代理服务层,包括任务适配解析模块、任务提交模块、任务停止模块、任务状态检查模块、任务续跑模块以及任务试运行模块,用于任务适配和解析,将任务所需的资源依赖提交至Hadoop层的HDFS以及用于任务提交发布、任务停止、任务状态检查、任务续跑以及任务试运行请求;Hadoop层,包括HDFS模块和YARN计算引擎模块,其中,HDFS模块包括依赖lib库、ck文件库和savepoint文件库;YARN计算引擎模块包括任务执行单元、任务执行日志单元以及任务记录单元;HDFS模块用于写入应用层中任务解析单元提交的任务所需的资源依赖以及写入YARN计算引擎模块生成的ck文件和savepoint文件;YARN计算引擎模块用于执行flink任务,生成任务执行日志以及用于生成监控指标并将监控指标推送至监控层的Prometheus模块;监控服务层,包括Prometheus模块,用于从hadoop层的任务执行日志模块中实时获取监控指标,将flink任务的运行状态及性能指标发送至代理服务层的任务检查模块;存储层,包括Redis、Kafka、elasticsearch以及临时数据存储服务模块,其中,Redis用于存储ck或savepoint快照文件的HDFS地址,Kafka用于实时记录每个flink的任务状态,elasticsearch用于实时存储每个flink任务的执行日志,临时数据存储服务模块用于存储任务试运行数据。2.根据权利要求1所述的flink任务适配hadoop生态的系统,其特征在于,其中,应用层中,任务发布模块包括任务构建单元和任务需求配置单元,任务构建单元用于构建fink任务,任务需求配置单元用于根据任务场景配置任务需求并将fink任务提交至代理服务层;任务管理模块包括任务停止请求单元、任务续跑请求单元以及任务试运行请求单元,分别用于发出任务停止、任务续跑或任务试运行的信息。3.根据权利要求1所述的flink任务适配hadoop生态的系统,其特征在于,代理服务层,包括:任务适配解析模块,包括任务适配单元和任务解析单元,其中,任务适配单元用于将log4j依赖以及Prometheus参数适配于fink任务中;任务解析单元用于解析应用层提交的fink任务,为解析获得的fink任务添加checkpoint配置参数,将任务所需的资源依赖提交至Hadoop层的HDFS模块;任务提交模块,用于自定义任务性能参数并将自定义的任务性能参数适配于经过解析的fink任务,将适配后的fink任务通过application模式提交至Hadoop层的YARN计算引擎模块;任务停止模块,用于根据任务停止请求信息,向Hadoop层的YARN计算引擎模块的任务执行单元提交任务停止请求,并记录该flink任务的执行参数、任务属性、任务名称和jobid信息,将停止任务对应的savepoint文件地址存储至存储层的Redis;任务状态检查模块,用于从监控服务层获取flink任务的运行状态和性能指标,根据性能指标判断是否检查YARN计算引擎模块中flink任务的运行状态,将获取的flink任务的运行状态同步到存储层的kafka中记录;
任务续跑模块,包括地址获取单元和任务续跑提交单元,其中,地址获取单元用于从HDFS模块获取ck或savepoint快照文件的地址,并将地址存储至存储层的Redis;任务续跑提交单元用于根据任务续跑请求信息从存储层的Redis中获取每个需要续跑的flink任务的ck或savepoint快照,向Hadoop层的YARN计算引擎模块重新提交任务续跑请求;任务试运行模块,用于通过calcite模型解析试运行任务,将试运行的结果集写入临时数据存储服务模块中。4.根据权利要求1所述的flink任务适配hadoop生态的系统,其特征在于,Hadoop层的HDFS模块中,依赖lib库用于写入应用层中任务解析单元提交的任务所需的资源依赖;ck文件库用于写入任务失败或达到创建时间时生成的ck文件;savepoint文件库用于写入任务停止时生成的savepoint文件。5.根据权利要求1所述的flink任务适配hadoop生态的系统,其特征在于,Hadoop层的YARN计算引擎模块,包括:任务执行单元,用于为代理服务层中任务提交模块提交的flink任务分配计算空间,加载所述flink任务在HDFS模块中的依赖lib库,执行flink任务;任务执行日志单元,用于解析fink任务在应用层中任务适配单元适配的log4j依赖,生成任务执行日志,将任务执行日志写入存储层的elasticsearch;以及用于读取fink任务在应用层中任务适配单元适配的Prometheus参数,生成监控指标并将监控指标推送至监控层的Prometheus模块;任务记录单元,用于根据...

【专利技术属性】
技术研发人员:汪昱帅冯治赵晨曦刘峰余任杰
申请(专利权)人:中国电子系统技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1