主页 > 新闻资讯 > 大数据学习:Spark容错机制都有哪些

大数据学习:Spark容错机制都有哪些

作者:张老师 浏览次数: 2021-04-14 17:45
Spark作为支持大数据离线处理的典型代表框架之一,面对大规模数据处理任务,容错机制是非常重要的性能指标之一。今天的大数据学习分享,我们就主要来讲讲Spark的容错机制有哪些?

大数据学习:Spark容错机制都有哪些

所谓容错,简单来说,就是指一个系统部分出现错误的情况还能持续的提供服务。

当集群达到较大的规模,很容易出机器故障以及网络延迟等情况,导致某个节点不能提供服务,所以分布式框架一般都会进行高容错设计。Spark的容错机制,包括以下几个方面:

Master容错

只有Standalone模式下才需要进行Master容错配置。如果是Spark On Yarn模式,资源由ResourceManager管理,Yarn通常配置有相应的容错机制,无需外部再进行配置。

Standalone模式下会启动多个Master,仅有一个Master处于Action状态,其他为StandBy状态。当前Master异常时,会按照一定规则从中选取一个接替原Master的工作,有如下几种可选配置:ZOOKEEPER、FILESYSTEM、CUSTOM。

Worker容错

Worker也是Standalone模式下才有的概念,Spark On Yarn模式中对应的是NodeManager,Yarn自身带有NodeManager的容错机制。

在Standalone模式中,Worker会保持和Master的心跳。当Worker出现超时,根据Worker运行的是Executor还是Driver分别进行处理:

如果是Executor,Master给对应的Driver发送消息,告知Executor已丢失,同时把这些Executor从其应用程序运行列表中删除。并且相关Executor的异常也需要按照Executor进行处理

如果是Driver,则判断是否需要设置重新启动。如果需要分配合适节点重启Driver;如果不需要重启,则删除该应用程序

Executor容错

Executor真正负责任务的执行,并将任务的运行状态发送给Driver。

Executor发生异常时,会把异常信息发送给Worker,然后Worker会讲信息发送给Master。Master接收到Executor状态变化消息后,如果发现Executor出现异常退出,则尝试获取可用的Worker节点并重新启动Executor。

重新启动一个新的Executor会尝试一定次数,如果还不成功,那么整个application就运行失败了。这样是为了保证application不会一直占用集群资源。

Stage容错

stage失败会重试,默认重试4次,有参数spark.stage.maxConsecutiveAttempts控制

Task容错

task级别的重试,同一个task失败4次才会被影响,不同的task失败不相互影响

RDD容错

RDD实现基于Lineage的容错机制,基于RDD的transformation构成了计算依赖,在部分计算结果丢失的时候可以根据Lineage重新恢复计算。如果lineage过长还可使用checkpoint机制。

关于大数据学习,Spark容错机制都有哪些,以上就为大家做了简单的介绍了。Spark的容错机制,从各个层面来说,都有相应的设计,这些也需要具体到各个层面去理解和掌握。成都加米谷大数据,专业大数据培训机构,大数据开发,数据分析与挖掘,零基础班本月正在招生中,课程大纲及学习视频,可联系客服获取!
热点排行
推荐文章
立即申请>>