SparkStreaming 原理_容错 | 学习笔记

简介: 快速学习 SparkStreaming 原理_容错

开发者学堂课程【大数据Spark2020版(知识精讲与实战演练)第五阶段:SparkStreaming 原理_容错】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/692/detail/12139


SparkStreaming 原理_容错

内容介绍:

一、热备

二、冷备

三、重放

四、总结

 

一、热备

val lines: Dstrean[string] 。ssC .socketTextstrean(

Hostname=args(0),

Port=args(1).toInt,

storageLevel=storageLevel .MENORY_AND_DISK_SER)

这行代码中的StorageLevel .MEMORY_ AND_ DISK_ SER 的作用是什么?其实就是热备份

●当 Regeiver 获取到数据要存储的时候,是交给 BlockManager 存储的

●如果设置了 StorageLevel .MEMORY_ AND _DISK_ SER, 则意味着 BlockManager 不仅会在本机存储,也会发往其它的主机进行存储,本质就是冗余备份

●如果某一个计算失败了,通过冗余的备份,再次进行计算即可,以避免数据丢失。

image.png

这是默认的容错手段。

 

二、冷备

冷备在 Spark Streaming 中的手段叫做 WAL (预写日志)

WAL: 预写日志

●假设 receiver 获取到了一份数据

●先不存,先写日志

●写完日志以后,写入 BlockManager

●当 Receiver 获取到数据后,会交给 BlockManager 存储

●在存储之前先写到 WAL 中, WAL 中保存了 Redo Log , 其实就是记录了数据怎么产生的,以便于恢复的时候通 过Log 恢复

●当出错的时候,通过 Redo Log 去重放数据

 

三、重放

●有一些上游的外部系统是支持重放的,比如说 Kafka

●Kafka 可以根据 0ffset 来获取数据

●当 SparkStreaming 处理过程中出错了,只需要通过 Kafka 再次读取即可

 

四、总结

有冗余备份就是热备,冷备也叫 redo.log,通过预写日志实现,redo.log 在当数据出错的时候,能够回到原来的时间点。重放借助了外部数据源的重放能力。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
Android开发
RecyclerView的简单使用在activity和fragment中
RecyclerView的简单使用在activity和fragment中
|
存储 消息中间件 SQL
Apache Flink 在国有大型银行智能运营场景下的应用
建信金融科技开发工程师周耀在 FFA 2021 的分享
Apache Flink 在国有大型银行智能运营场景下的应用
|
机器学习/深度学习 自动驾驶 算法
深度学习/自动驾驶数据集大集合(目标检测/图像分割/语义分割/图像分类/)
深度学习/自动驾驶数据集大集合(目标检测/图像分割/语义分割/图像分类/)
1060 爱丁顿数(JAVA)
英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。
1060 爱丁顿数(JAVA)
|
编译器 C++
舌尖上的C——三子棋的慢烹细作
准备👏 今晚是个大工程,但是咱不急,工欲善其事,必先利其器,先来看看需要哪些“器”:
舌尖上的C——三子棋的慢烹细作
|
安全 网络安全
政府安全资讯精选 2017年第十五期:工信部发布《公共互联网网络安全突发事件应急预案》;英国 NHS 预将投入 2000 万英镑增强网络防御体系
工信部发布《公共互联网网络安全突发事件应急预案》;英国 NHS 预将投入 2000 万英镑增强网络防御体系;澳大利亚社会服务部承认泄露8500名雇员数据
2671 0
|
消息中间件 Docker 微服务
Catalog Service - 解析微软微服务架构eShopOnContainers(三)
上一篇我们说了Identity Service,因为其基于IdentityServer4开发的,所以知识点不是很多,今天我们来看下Catalog Service,今后的讲解都会把不同的、重点的拿出来讲,希望大家明白。
1916 0
|
JavaScript 数据库 C++
编码导致 html和aspx 样式差异,变形
 前几天做页面,排好的html页面复制到aspx页面上就是会出现差异,比如字体定义无效,基本的表现就是怎么改样式都没显示或只有某些浏览器正常,搞了半天才发现是编码问题,DW默认新建的文件编码是gb2312的,vs默认是utf-8的,时间原因也没重新排,就在web.config的Configuration节点下对这个页面单独设置了编码。
988 0