云计算与大数据技术 课件12.5 Flink状态和容错机制.pptx

云计算与大数据技术 课件12.5 Flink状态和容错机制.pptx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Flink时间处理机制

Flink状态-StateState是Flink中一个非常基本且重要的概念,State的字面意义为状态。Flink支持有状态计算。无状态是指每个事件都是独立的,各个事件之间没有关联,输出结果只与当前事件有关联。比如电子围栏报警系统,当触发设置的电子围栏时就进行告警。有状态是指当前的事件与之前的事件状态有关联,输出结果需要结合之前各个事件的输出结果。比如,淘宝“双十一”活动实时战报的实时总成交金额播报等。

Flink状态-State有状态计算是指在程序计算过程中,程序内部存储计算会产生中间结果,并且会被提供给后续的算子进行计算,如Flink中的sum和reduce算子。

Flink状态-StateEventTime(事件时间)是指每个事件在其设备上发生的时间,通常由事件中的时间戳来描述。

Flink状态-State引入背景Flink提供了State来存放计算过程中计算节点的中间结果或元数据属性等,并提供了Exactly-Once语义。由于流计算大多数的场景都是增量计算,数据需要逐条处理,当前结果都是基于上一次的计算结果进行处理的,这就要求将上一次的计算结果进行存储持久化。

Flink容错机制Flink属于分布式数据流处理引擎,而分布式数据流处理引擎必须面对的问题就是故障,例如进程被强制关闭、服务器宕机、网络连接中断等。当出现以上故障时,会造成Flink作业意外失败,需要在重启后进行恢复,要想State的值不从头开始计算,就需要进行容错处理。为了保证计算过程中出现异常时可以进行容错处理,需要将中间的计算结果State存储起来。

Flink容错机制State使用Checkpoint(类似于Windows系统发生死机等问题时,恢复系统到某个时间点的恢复点)机制进行容错处理,可以理解为从Checkpoint(检查点)处恢复。Flink为了进行实时容错处理,将中间结果定期存储起来,在出现故障时将系统重置为正确的状态,这种定期触发中间存储结果的机制称为CheckPointing。

Flink容错机制-Checkpoint

Checkpoint是Flink用来从故障中恢复的容错机制。它可以根据周期性的基于Stream中各个Operator的状态配置来生成快照,从而将这些状态数据定期、持久化地存储起来。当作业出现意外崩溃的情况时,通常需要和错误恢复机制(作业重启策略或Failover策略)配合使用。

Flink容错机制-Checkpoint

Flink作业会根据作业重启策略自动重启并通过最近一个成功的快照(Checkpoint)来恢复状态。合适的作业重启策略可以减少作业不可用时间并避免人工介入故障处理的运维成本,因此对Flink作业稳定性来说有着举足轻重的作用。

Flink的Exactly-Once语义数据流处理引擎经常被广泛讨论的特征是处理语义,而Exactly-Once语义是其中最受欢迎的。很多数据流处理引擎都声称它们提供Exactly-Once语义。同时,Exactly-Once语义是Flink、Spark等流处理系统的核心特性之一,那么Exactly-Once语义究竟是什么呢?流处理语义要求机制保证在任务或数据出错时,数据是正确且有效的。

Flink的Exactly-Once语义Exactly-Once(恰好一次):Exactly-Once也被称为精确一次,表示一条数据从被接收到后续被处理成功,只会被正确地处理一次,没有数据丢失,也没有重复的数据处理。

Flink中的Exactly-OnceFlink程序是通过分布式快照与事务机制实现的,Flink外部系统(必须)支持端到端的Exactly-Once语义。分布式快照是指将读入Source、处理Transformation、写出Sink等中间结果都保存在Checkpoint中。事务机制分为预提交和正式提交(回滚)两个阶段,先预提交到底层的预写文件中,待事务执行成功后再正式提交,如果提交失败了就回滚。

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档