Storm的容错性

Storm有几种不同的守护进程。Nimbus调度worker,Supervisor运行和杀死worker,log viewer 提供对于日志的访问方式,UI展示集群的状态。

 

一、问:如果一个Worker死掉了,那么会发生什么?

答:如果一个worker死掉了,那么supervisor会重启这个worker。如果这个worker在启动的时候持续失败,那么它将不能与Nimbus正常进行心跳通信,Nimbus将会重新调度这个worker。

 

二、问:如果一个Node死掉了,会发生什么?

答:分配到那台机器的任务将会超时,并且Nimbus会重新分配这些任务到其他的机器上面。

 

三、问:如果Nimbus或者Supervisor挂掉了,会怎么样?

答:Nimbus和Supervisor是被设计成快速失败fail-fast(无论何时发生任何异常的情形时会执行自毁),并且无状态的(所有的状态是被存储在zookeeper或者disk上的)。正如Setting up a Storm cluster中描述的,Nimbus和Supervisor必须运行在一个类似于daemontools or monit 的监控之下,这样可以在Nimbus或者Supervisor死掉以后,可以像什么也没有发生一样的重启他们。

 

更值得注意的是,Nimbus或者Supervisor的死掉不会对任何的worker处理产生影响。这个是与Hadoop大不相同的,如果JobTracker死掉,那么所有运行的job的信息会丢掉。

 

四、问:Nimbus是否有单点故障?

答:如果你失去了Nimbus节点,那么worker会继续工作。另外,supervisor会继续在worker死掉的时候重启他们。然而,如果没有Nimbus,worker将不会在需要的时候被重新分派到前天的机器上面(比如你失去了一个工作机器)。

 

Storm Nimbus在1.0.0 以后是高可用的。更多的信息请参看:Nimbus HA Design 文档。

 

五、问:Storm怎么能保证数据处理?

答:storm提供了机制来保证数据处理,即使节点死掉或者消息丢失。请参看:Guaranteeing message processing 文档。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值