zoukankan      html  css  js  c++  java
  • 关于storm群集容错概念的简单介绍

    1、当一个worker死掉会发生什么?
     
         当一个worker死掉,那么supervisor会重新启动这个worker。如果它总是启动失败将不能发送心跳到nimbus,那么nimbus将把这个worker分配到另一台机器上。
     
     
    2、当一个节点死掉将会发生什么?
     
         分配给这台机器的任务将会超时,那么nimbus将会把任务重新分配到其他机器。
     
    3、当Nimbus或者Supervisor实例死掉会发生什么?
     
         Nimbus和Supervisor被设计成快速失败的(当发生任何意外情况时进程将自己结束)和无状态的(所有的状态都存在zookeeper里或者磁盘上)。当启动一个storm群集时,Nimbus和Supervisor进程将使用进程工具或监视工具来运行一个守护进程。因此,当Nimbus和Supervisor进程死掉时,守护进程会重启它们就像什么都没发生过。
         值得注意的是,没有worker会受到Nimbus和Supervisor死掉的影响,相对于hadoop,如果JobTracker死掉。所有运行中的job将会丢失。
     
    4、nimbus是一个单点故障?
     
         如果丢失了nimbus节点,worker将会继续运行程序,另外,supervisors 将会继续重启失败的worker。但是,如果一直没有nimbus,当需要的时候worker将不能被分配给其他机器(例如有一台worker机器丢失的情况)。
     
         因此,答案是nimbus近乎是一个单点故障,在实践中,这并不是一个大问题,当nimbus节点丢失时,并不会有什么灾难发生。我们有计划在未来提高nimbus的高可用性。
     
    5、storm如何保证数据的处理的?
     
         storm提供了一种机制保证即使节点死掉或者消息丢失数据依然能继续处理。(应该是数据的重放机制)
  • 相关阅读:
    kafka学习总结010 --- 实际项目中遇到的问题1
    kafka学习总结009 --- HW和LEO
    spring学习总结001 --- IOC控制反转、DI依赖注入
    kafka学习总结008 --- 生产者生产数据流程(参照源码)
    kafka学习总结007 --- 生产者Java API实例
    kafka学习总结006 --- 生产者事务
    kafka学习总结005 --- at-exactly-once语义
    kafka学习总结004 --- 生产者ISR
    kafka学习总结003 --- 生产者分区策略
    计算机基础-1(进制转换)
  • 原文地址:https://www.cnblogs.com/firtree/p/3972888.html
Copyright © 2011-2022 走看看