码迷,mamicode.com
首页 > 其他好文 > 详细

spark core源码分析13 异常情况下的容错保证

时间:2015-09-08 20:17:43      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:spark   spark core   

博客地址: http://blog.csdn.net/yueqian_zhu/



standalone模式下的框架图如下:

技术分享

异常分析1: worker异常退出


技术分享

  1. worker异常退出,比如说有意识的通过kill指令将worker杀死
  2. worker在退出之前,会将自己所管控的所有小弟executor全干掉
  3. worker需要定期向master改善心跳消息的,现在worker进程都已经玩完了,哪有心跳消息,所以Master会在超时处理中意识到有一个“分舵”离开了
  4. Master非常伤心,伤心的Master将情况汇报给了相应的Driver
  5. Driver通过两方面确认分配给自己的Executor不幸离开了,一是Master发送过来的通知,二是Driver没有在规定时间内收到Executor的StatusUpdate,于是Driver会将注册的Executor移除


异常分析2: executor异常退出

技术分享

Executor作为Standalone集群部署方式下的最底层员工,一旦异常退出,其后果会是什么呢?

  1. executor异常退出,ExecutorRunner注意到异常,将情况通过ExecutorStateChanged汇报给Master
  2. Master收到通知之后,非常不高兴,尽然有小弟要跑路,那还了得,要求Executor所属的worker再次启动
  3. Worker收到LaunchExecutor指令,再次启动executor


异常分析3: master 异常退出

技术分享


带头大哥如果不在了,会是什么后果呢?

  • worker没有汇报的对象了,也就是如果executor再次跑飞,worker是不会将executor启动起来的,大哥没给指令
  • 无法向集群提交新的任务
  • 老的任务即便结束了,占用的资源也无法清除,因为资源清除的指令是Master发出的

个人觉得这位同学讲的很是生动形象!!!点个赞


引用:http://www.cnblogs.com/hseagle/p/3791779.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

spark core源码分析13 异常情况下的容错保证

标签:spark   spark core   

原文地址:http://blog.csdn.net/yueqian_zhu/article/details/48290795

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!