storm文档(10)----容错
2016-03-09 15:11
323 查看
源地址:http://storm.apache.org/documentation/Fault-tolerance.html
本文主要介绍Storm作为容错系统的设计细节。
当worker死掉时会发生什么?
当worker死掉时, supervisor将重启它。 如果worker启动总是失败,则worker就不能发送心跳消息给Nimbus, 那Nimbus就会重新在另一台machine上启动它。
当node死掉时会发生什么?
分配到这个节点的所有tasks都会超时,那Nimbus会将这些tasks重新分配到另外的机子上。
当Nimbus或者Supervisor daemons死掉时会发生什么?
Nimbus和Supervisor daemons都是设计为快速失败的(任何意外状况发生时都可能导致进程自身崩溃)以及无状态的(所有的状态都是保存在Zookeeper或者Disk上)就像在配置storm集群中描述的一样, Nimbus和Supervisor daemons必须运行在监控之下,这个监控是使用诸如daemontools或者monit等工具实现的。因此,如果Nimbus或者Supervisor daemons死掉的话, 他们会像什么都没发生一样再次重启。
最需要指出的是, 没有worker进程会受到Nimbus或者Supervisors死掉的影响。 而相比之下,对Hadoop来说, 如果JobTracker死掉的话, 所有运行的jobs都会丢失。
Nimbus是否会出现单独失败的状况?
如果Nimbus 节点死掉的话, worker依然会运行下去。另外, supervisors在它们死掉的时候依然会重启。尽管如此, 没有Nimbus, worker 在需要时(比如worker所在机器宕机时)不会重新分配到其他机器上。
因此,答案就是Nimbus是某种单一故障点。实际中,Nimbus daemon死掉时, 也不是什么大事,因为不会发生什么灾难性的事情。未来还有一些计划用来提交Nimbus可用性。
Storm怎样保证数据处理?
Storm提供保证数据处理的机制, 即使节点死掉或者丢失消息时也可以保证。更多细节可以查看 保证消息处理机制 。
本文主要介绍Storm作为容错系统的设计细节。
当worker死掉时会发生什么?
当worker死掉时, supervisor将重启它。 如果worker启动总是失败,则worker就不能发送心跳消息给Nimbus, 那Nimbus就会重新在另一台machine上启动它。
当node死掉时会发生什么?
分配到这个节点的所有tasks都会超时,那Nimbus会将这些tasks重新分配到另外的机子上。
当Nimbus或者Supervisor daemons死掉时会发生什么?
Nimbus和Supervisor daemons都是设计为快速失败的(任何意外状况发生时都可能导致进程自身崩溃)以及无状态的(所有的状态都是保存在Zookeeper或者Disk上)就像在配置storm集群中描述的一样, Nimbus和Supervisor daemons必须运行在监控之下,这个监控是使用诸如daemontools或者monit等工具实现的。因此,如果Nimbus或者Supervisor daemons死掉的话, 他们会像什么都没发生一样再次重启。
最需要指出的是, 没有worker进程会受到Nimbus或者Supervisors死掉的影响。 而相比之下,对Hadoop来说, 如果JobTracker死掉的话, 所有运行的jobs都会丢失。
Nimbus是否会出现单独失败的状况?
如果Nimbus 节点死掉的话, worker依然会运行下去。另外, supervisors在它们死掉的时候依然会重启。尽管如此, 没有Nimbus, worker 在需要时(比如worker所在机器宕机时)不会重新分配到其他机器上。
因此,答案就是Nimbus是某种单一故障点。实际中,Nimbus daemon死掉时, 也不是什么大事,因为不会发生什么灾难性的事情。未来还有一些计划用来提交Nimbus可用性。
Storm怎样保证数据处理?
Storm提供保证数据处理的机制, 即使节点死掉或者丢失消息时也可以保证。更多细节可以查看 保证消息处理机制 。
相关文章推荐
- 移动应用-使用tcpdump抓包
- 231. Power of Two
- redis configuration
- storm文档(9)----消息处理保证机制
- printf格式输出数字,位数不够前面补0,适用与输出编号
- 一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了
- nGrinder源码分析:详细报告页数据展示
- LeetCode : Divide Two Integers [java]
- #ifdef和#ifndef和#if
- python只引入模块并不能直接调用该模块的函数
- IBM MQ消息中间件jms消息中RHF2消息头的处理
- lstm-思想
- linux与windows的文本文件之间的转换
- 各主板U盘启动热键
- storm文档(8)----配置文件说明
- windows7下 python2.7 django1.62 安装
- java或者C#发送短信
- Vmware 虚拟机联网
- 关闭MongoDB
- hibernate标准查询