[发明专利]一种基于Spark流计算框架的消息容错方法及系统有效
申请号: | 202010470184.3 | 申请日: | 2020-05-28 |
公开(公告)号: | CN111752752B | 公开(公告)日: | 2022-07-19 |
发明(设计)人: | 魏健;赵波 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 张营磊 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark 计算 框架 消息 容错 方法 系统 | ||
本发明提供一种基于Spark流计算框架的消息容错方法及系统,方法如下:创建工作流程序,设置元数据检查点任务将加入程序和配置版本标签的流式计算信息保存到存储系统;设置Spark流从消息队列读取消息获取数据集,完成Spark流中数据集转换操作及创建逻辑执行计划;当Spark流中有状态转换,且有数据检查点时,设置数据集进行有状态转换处理,并在数据检查点任务中加入程序和配置版本标签;当系统出现故障时,设置Spark流获取检查点中的程序及配置版本信息,并在程序及配置版本信息发生改变时,启动重做任务,重做检查点,以及在未发生改变时,重启程序;启动新版本程序,通过新版本检查点进行后续数据恢复处理。
技术领域
本发明属于流式计算容错技术领域,具体涉及一种基于Spark流计算框架的消息容错方法及系统。
背景技术
SparkStreaming是一套框架,是Spark核心API的一个扩展,可以实现高吞吐量的,具备容错机制的实时流数据处理。本专利中,将SparkStreaming简称为Spark流。
流式应用程序必须24*7全天候运行,因此必须能够抵抗与应用程序逻辑无关的故障(例如,系统故障,JVM崩溃等)。为此,SparkStreaming需要将足够的信息指向容错存储系统,以便可以从故障中恢复。
SparkStreaming提供了检查点机制,用于消息的恢复处理。检查点有两种类型的数据。一是元数据检查点-将定义流计算的信息保存到HDFS等容错存储中。这用于从运行流应用程序的驱动程序的节点的故障中恢复;元数据包括:配置、离散流操作、不完整的批次。二是数据检查点-将生成的数据集保存到可靠的存储中。在一些有状态转换中,这需要跨多个批次合并数据,这是必需的。在此类转换中,生成的数据集依赖于先前批次的数据集,这导致依赖项链的长度随时间不断增加。为了避免恢复时间的这种无限制的增加(与依赖关系链成比例),有状态转换的中间数据集会定期检查点到可靠的存储(例如HDFS),以切断依赖关系链。
当系统出现故障,可以通过检查点机制进行恢复,但是当流式程序代码或配置改变,或者更新迭代新功能的时候,先停止旧的SparkStreaming程序,新的程序打包编译后执行运行,会出现两种情况:一是启动报错,反序列化异常。二是启动正常,但是运行的代码仍然是上一次的程序的代码。
因为检查点第一次持久化的时候会把整个相关程序包和相关配置等序列化成一个二进制文件,每次重启都会从里面恢复,但是当新的程序打包之后序列化加载的仍然是旧的序列化文件,这就会导致程序报错,或者依旧执行旧代码。从而导致消息重复处理或未处理的错误。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于Spark流计算框架的消息容错方法及系统,是非常有必要的。
发明内容
针对现有技术的上述SparkStreaming发生故障后,通过检查点机制恢复时,出现程序报错或依旧执行旧代码的缺陷,本发明提供一种基于Spark流计算框架的消息容错方法及系统,以解决上述技术问题。
第一方面,本发明提供一种基于Spark流计算框架的消息容错方法,包括如下步骤:
S1.创建工作流程序,设置元数据检查点任务将加入程序和配置版本标签的流式计算信息保存到存储系统;
S2.设置Spark流从消息队列读取消息后进行消息分区处理生成数据集,完成Spark流中数据集转换操作及创建逻辑执行计划;
S3.当Spark流中有状态转换,且有数据检查点时,设置数据集进行有状态转换处理,并在数据检查点任务中加入程序和配置版本标签;
S4.当系统出现故障时,设置Spark流获取检查点中的程序及配置版本信息,并在程序及配置版本信息发生改变时,启动重做任务,重做检查点,以及在程序及配置版本信息未发生改变时,重启程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010470184.3/2.html,转载请声明来源钻瓜专利网。