【原】Storm 守护线程容错机制

Storm入门教程

1. Storm基础

Storm

Storm主要特色

Storm基本概念

Storm调度器

Storm配置

Guaranteeing Message Processing(消息处理保障机制)

Daemon Fault Tolerance(守护线程容错机制)

当worker死掉时会发生什么?

当node死掉时会发生什么?

当Nimbus或者Supervisor daemons死掉时会发生什么?

Nimbus是否会出现单独失败的情况?

Storm怎样保证数据处理?

理解Storm拓扑的并行

Tutorial

Local模式

在生产环境中运行Topologies



Daemon Fault Tolerance(守护线程容错机制)

Storm有不一样的守护进程。Nimbus负责调度wokers,supervisors负责建立和销毁workers。这些信息能够在日志中或Storm UI中看到。html

当worker死掉时会发生什么?

当worker死掉时,supervisor将重启它。若是worker启动老是失败且不能正常发送心跳消息给Nimbus,那Nimbus就会从新调度worker。node

当node死掉时会发生什么?

若是节点发生故障,致使分配到某个节点的全部tasks执行都会超时,那Nimbus会将这些tasks从新分配到另外的节点上。apache

当Nimbus或者Supervisor daemons死掉时会发生什么?

Nimbus和Supervisor daemons都是设计为快速失败的(任何意外情况发生时均可能致使进程自身崩溃)以及无状态的(全部的状态都是保存在Zookeeper或者Disk上)。就像Storm集群的配置描述的同样, Nimbus和Supervisor daemons必须运行在监控之下,这个监控是使用诸如daemontools或者monit等工具实现的。所以,若是Nimbus或者Supervisor死掉的话,它们会像什么都没发生同样再次重启。
最须要指出的是, 没有worker进程会受到Nimbus或者Supervisors死掉的影响。而相比之下,对Hadoop来讲, 若是JobTracker死掉的话, 全部运行的jobs信息都会丢失。工具

Nimbus是否会出现单独失败的情况?

若是Nimbus 节点死掉的话, worker依然会运行下去。另外, supervisors在它们死掉时依然会重启。尽管如此,没有Nimbus,worker 在须要时(好比worker所在机器宕机时)不会从新分配到其余机器上。
Storm的Nimbus从1.0.0开始已实现HA机制。详情看Nimbus HA Designoop

Storm怎样保证数据处理?

Storm提供保证数据处理的机制,即便节点死掉或者丢失消息时也能够保证。更多细节能够查看保证消息处理机制 。线程

相关文章
相关标签/搜索