关于SparkStreaming的checkpoint问题

在流式运行程序运行时,必须全天24小时的运行,因此我们必须应对与应用程序逻辑无关的故障(例如系统故障,JVM崩溃等)

为此,Spark Streaming需要将足够的信息检查点指向容错存储系统,以便可以从故障中恢复。

检查点有两种类型的数据。

1、元数据检查点---将定义流计算的信息保存到HDFS等容错存储中。

这用于从运行流应用程序的驱动程序的节点的故障中恢复。

元数据包括:
    配置 ---用于创建流应用程序的配置。
    DStream操作 ---定义流应用程序的DStream操作集。
    不完整的批次 ---作业排队但尚未完成的批次。


2、数据检查点 --- 将生成的RDD保存到可靠的存储中。

在某些状态转换中,这是必须的,这些转换将跨多个批次的数据进行合并。在此类转换中,生成的RDD依赖于先前批次的RDD,这导致依赖项链的长度随时间不断增加。为了避免恢复的时候这种无限制的增加,有状态转换的中间RDD定期落地到(通过检查点)到可靠的存储(例如HDFS),以切断依存关系链。


总而言之,从驱动程序故障中恢复时,需要元数据检查点,而如果使用有状态转换的数据或者RDD,即使是基本功能,也需要数据或RDD检查点。

何时使用检查点

必须为具有以下任何要求的应用程序启用检查点:

1、有状态转换的用法

      如果在应用程序中使用updateStateByKey

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值