Storm基础(五)守护程序的容错机制

原文链接:http://storm.apache.org/releases/1.0.2/Daemon-Fault-Tolerance.html

本人原创翻译,转载请注明出处

Storm有几种守护进程:负责调度worker的Nimbus,负责启动和停止worker的supervisors,提供日志访问的log viewer,展示集群状态信息的UI。

worker死掉时会发生什么?

worker死掉时,supervisor将会重启它。如果它启动时继续死掉并且不能给Nimbus发送心跳,Nimbus会重新调度worker。

节点死掉时会发生什么?

分配给那个机器的任务将超时,Nimbus会重新分配任务给其他机器。

Nimbus或Supervisor进程死掉会发生什么?

Nimbus和Supervisor守护程序被设计为fail-fast(任何时候异常发生就进行自毁)和stateless(所有的状态保存在zookeeper或磁盘上)。正如在Setting up a Storm cluster里描述的那样,Nimbus和Supervisor守护程序必须使用daemontools或monit等工具监督管理。所以如果Nimbus和Supervisor守护程序死掉了,它们会像什么都没发生一样重启。

显而易见,worker进程不受Nimbus和Supervisor守护程序异常终止的影响。这和Hadoop正好相反,在Hadoop里,如果JobTracker终止,运行中的jobs也会终止。

Nimbus是否是单点失败?

如果Nimbus节点终止,workers会继续运行。此外,supervisors也会继续重启workers(如果worker终止的话)。但是,没有Nimbus,wokers就不会在必要的时候被分配到其他机器上,比如有机器宕机的时候。

从1.0.0版本以后,Storm Nimbus是高可用的,更多信息请参考Highly Available Nimbus Design

Storm如何保证消息处理?

即使节点宕掉或消息丢失,Storm也有保证消息处理的机制。请阅Storm基础(四)保证消息处理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 目录 场景假设 调优步骤和方法 Storm 的部分特性 Storm 并行度 Storm 消息机制 Storm UI...
    mtide阅读 17,238评论 30 60
  • 1. Storm介绍: Storm是实时流计算框架。企业中典型实时分析框架搭建模式: Flume + Kafka ...
    奉先阅读 5,659评论 0 3
  • Strom集群结构是有一个主节点(nimbus)和多个工作节点(supervisor)组成的主从结构,主节点通过配...
    看山远兮阅读 7,970评论 0 7
  • 开启人生阅读 1,477评论 0 0
  • 重庆 晴 1 突然就提到了关于干得好嫁的好这一伪命题,毕竟不是每个人都能二选一的。和沈老师的聊天让我发现我不是很习...
    南国先生安阅读 1,648评论 0 0

友情链接更多精彩内容