Spark Streaming 容错改进与零数据丢失
Posted @SmartSi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark Streaming 容错改进与零数据丢失相关的知识,希望对你有一定的参考价值。
传送门:Spark 系统性学习笔记
实时流处理系统必须可以 7*24 小时工作,因此它需要具备从各种系统故障中恢复的能力。最开始,Spark Streaming 支持从 Driver 和 Worker 故障中恢复。然而,从有些数据源导入数据时可能存在故障恢复以后丢失数据的情况。在 Spark 1.2 版本中,我们已经在 Spark Streaming 中对预写日志作了初步支持,改进了恢复机制,使得更多数据源零数据丢失有了可靠的保证。本文将详细地描述这个特性的工作机制,以及开发者如何在 Spark Streaming 应用中使用这个机制。
1. 背景
Spark 以及 RDD 抽象设计旨在无缝处理集群中任何 Worker 节点的故障。鉴于 Spark Streaming 建立于 Spark 之上,因此其 Worker 节点也具备了同样的容错能力。然而,Spark Streaming 这种 7*24 小时长时间运行需要应用程序必须也具备从 Driver 进程(协调各个 Worker 的主要应用进程)故障恢复的能力。使 Spark Driver 具有容错性是件很棘手的事情,因为它可能是任意计算模式实现的用户程序。不过 Spark Streaming 应用程序在计算上有一个固有的结构 - 在每个微批数据上周期性地运行相同的 Spark 计算。这种结构允许把应用的状态(亦称 Checkpoint)周期性地保存到可靠的存储中,并在
以上是关于Spark Streaming 容错改进与零数据丢失的主要内容,如果未能解决你的问题,请参考以下文章
Spark发行版笔记13:Spark Streaming源码解读之Driver容错安全性
第13课:Spark Streaming源码解读之Driver容错安全性
第12课:Spark Streaming源码解读之Executor容错安全性