`

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
分享到:
评论

相关推荐

    Apache Storm(apache-storm-2.3.0.tar.gz)

    它具有可扩展性、容错性,保证您的数据将得到处理,并且易于设置和操作。 Apache Storm 与您已经使用的队列和数据库技术集成。Apache Storm 拓扑使用数据流并以任意复杂的方式处理这些流,根据需要在计算的每个阶段...

    Apache Storm(apache-storm-2.3.0-src.tar.gz 源码)

    它具有可扩展性、容错性,保证您的数据将得到处理,并且易于设置和操作。 Apache Storm 与您已经使用的队列和数据库技术集成。Apache Storm 拓扑使用数据流并以任意复杂的方式处理这些流,根据需要在计算的每个阶段...

    大数据-Storm实时数据处理

    作为分布式系统架构,Hadoop具有高可靠性、高扩展性、高效性、高容错性和低成本的优点。然而随着数据体积越来越大,实时处理能力成为了许多机构需要面对的首要挑战。Hadoop是一个批处理系统,在实时计算处理方面显得...

    论文研究-实时流处理系统Storm的调度优化综述.pdf

    在已有的流式处理系统中,Storm系统具有良好的稳定性、高可扩展性以及高容错性等优点,使它在流式数据处理系统中脱颖而出。但是在任务调度方面,Storm系统并没有做过多的考虑,默认采用相对简单的轮询调度法,导致...

    storm讲义总结

    Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快(在一个小集群中,每个结点每秒可以处理数以百万计的消息)。 Storm的部署和运维都很便捷,而且更为重要的是可以使用任意编程语言来...

    Apache Storm(apache-storm-2.3.0.zip)

    它具有可扩展性、容错性,保证您的数据将得到处理,并且易于设置和操作。 Apache Storm 与您已经使用的队列和数据库技术集成。Apache Storm 拓扑使用数据流并以任意复杂的方式处理这些流,根据需要在计算的每个阶段...

    Apache Storm(apache-storm-2.3.0-src.zip 源码)

    它具有可扩展性、容错性,保证您的数据将得到处理,并且易于设置和操作。 Apache Storm 与您已经使用的队列和数据库技术集成。Apache Storm 拓扑使用数据流并以任意复杂的方式处理这些流,根据需要在计算的每个阶段...

    漫谈大数据第四期-storm

    容错性。Storm会管理工作进程和节点的故障。 水平扩展。计算是在多个线程、进程和服务器之间并行进行的。 可靠的消息处理。Storm保证每个消息至少能得到一次完整处理。任务失败时,它会负责从消息源重试消息。 快速...

    Apache Storm Scheduler 概览-研究论文

    Storm由于具有可扩展性、高可靠性、容错性、易于设置和操作等特点,日益受到欢迎。 Storm拓扑在集群上的部署会影响系统的性能,即Storm如何调度计算基础设施上可用的拓扑的每个组件的执行。 Storm 拓扑是 Storm ...

    Storm如何保证可靠的消息处理

    Storm的可靠性机制是完全分布式的(distributed),可伸缩的(scalable),容错的(fault-tolerant)。本文介绍了Storm如何保证可靠性以及作为Storm使用者,我们需要怎么做,才能充分利用Storm的可靠性。理解一些实现细节...

    storm-简介

    1.信息流处理(StreamProcessing)Storm可以用来实时处理新数据和更新数据库,兼具容错性和可扩展性,它可以用来处理源源不断的消息,并将处理之后的结果保存到持久化介质中。2.连续计算(ContinuousComputatio

    storm-跟我玩系列.pptx

    全方位的介绍 storm, 基于 0.9.x 版本, 架构、拓扑,容错,可靠性,exactly-once 语义

    strom的安装

    Nimbus和Supervisor都能快速失败并恢复,而且它们是无状态的,其元数据存储在ZooKeeper中,这使得系统具有很高的容错性。Nimbus与Supervisor之间的协调工作是通过ZooKeeper来完成的。 Worker由Supervisor负责启动,...

    基于Storm的Nginxlog实时监控系统

    被人广受诟病,但是 有需求就有创造,在Hadoop基本奠定了大数据霸主地位的时候,很多的开源项目都是以弥补Hadoop的实时性为目标而被创造出来,Storm正是在这个时候横空出世,Storm是一个免费开源、分布式、高容错的...

    实时可靠的开源分布式实时计算系统——Storm

    在Hadoop生态圈中,针对大数据进行批量计算时,通常需要一个或者多个MapReduce作业来完成,但这种批量计算方式是满足不了对实时性要求高的场景。Storm是一个开源分布式实时计算系统,它可以实时可靠地处理流数据。在...

    基于Storm平台的多任务分组调度策略与实现

    Apache storm作为一款开源, 高容错, 实时处理的分布式大数据流式计算平台, 支持任务平均分配策略, 单机任务指定策略等多种任务分配方案. 当任务拓扑结构中存在多个任务时, 且集群中只有某些机器支持某一任务执行时,...

    Spark Streaming 流式处理项目代码.rar

    + 良好的容错性,Spark Streaming 支持快速从失败中恢复丢失的操作状态; + 能够和 Spark 其他模块无缝集成,将流处理与批处理完美结合; + Spark Streaming 可以从 HDFS,Flume,Kafka,Twitter 和 ZeroMQ 读取数据...

Global site tag (gtag.js) - Google Analytics