`

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

相关推荐

    storm记录级容错.docx

    **Storm记录级容错机制详解** Storm作为实时流处理框架,提供了一种高效且精确的一次处理(Exactly-once ...因此,Storm的记录级容错机制能够有效保证流处理的正确性和可靠性,为实时数据处理提供了坚实的基础。

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

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

    细细品味Storm_Storm简介及安装

    Storm是一款强大的分布式实时数据处理框架,具有低延迟、高性能、容错性好等特点。它支持多种编程语言,适用于信息流处理、连续计算和分布式远程过程调用等多种应用场景。通过本文介绍的知识点,读者可以对Storm有一...

    大数据-Storm实时数据处理

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

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

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

    storm开发jar包以及storm例子源码

    7. **容错机制**:Storm通过检查点和故障恢复来保证容错性,即使节点失败,也能从最近的检查点恢复。 8. **Zookeeper**:作为协调服务,存储元数据和状态信息,确保集群的一致性和高可用性。 9. **nimbus**和**...

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

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

    storm讲义总结

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

    StormDemo.tar.gz

    Apache Storm的核心特性包括容错性、高吞吐量以及可扩展性,使其成为实时处理领域的首选工具之一。通过这个入门实例,用户可以学习如何定义Spouts(数据源)和Bolts(数据处理组件),构建拓扑结构,以及如何提交到...

    Storm实现的应用模型研究

    3. **容错性**: Storm具备高容错性,能够自动检测和恢复失败的任务,确保数据处理的可靠性。 4. **水平扩展**: Storm支持水平扩展,可以通过增加更多的节点来提高处理能力,以应对不断增长的数据量。 #### 四、性能...

    Twitter storm

    Storm 的设计目标是提供一个简单易用、可扩展且容错性高的平台,用于处理无界数据流(即持续不断地产生数据的数据流),并且能够保证消息的可靠传输。 Storm 与 Hadoop 类似,但主要针对的是实时数据处理,而Hadoop...

    apache-storm-0.9.5源码

    Apache Storm是一个分布式实时计算系统,它允许用户定义复杂的流处理逻辑,可以连续处理无界数据流,具有高容错性和可扩展性。源码分析对于理解其内部工作原理、优化性能以及开发自定义组件至关重要。Apache Storm ...

    storm0.9.0jar包

    Apache Storm是一个开源的分布式实时计算系统,它允许开发者处理无界数据流,具有高度容错性和高吞吐量的特点。这个JAR包是Storm的核心组件,包含了运行Storm集群所需的库和类。 在描述中,"storm0.9.0jar包"的简单...

    storm的jar包

    此外,Storm支持容错机制,即使部分节点失败,系统也能自动恢复,保证服务的高可用性。 总结来说,"storm的jar包"是Storm实时处理框架的基础,包含了运行和开发Storm应用所需的所有组件和库。通过深入理解和使用这...

    StormStorm集成Kafka 从Kafka中读取数据

    **正文** 在大数据实时处理领域,Apache Storm与Apache Kafka经常被结合使用,形成高效的数据流处理系统。...在实际应用中,还需要关注系统的扩展性、容错性以及资源利用率等多方面因素,以实现最佳性能。

    storm

    在Storm的设计中,无论是Nimbus、Supervisor还是Worker,都采用了无状态的设计,这为系统的扩展性和容错性提供了良好的保障。 在Storm中,开发Topology是一个核心任务。对于新手用户,可以学习如何从零开始开发一个...

    storm实时数据处理

    Storm设计的核心理念是简单、可扩展和容错性,使得它在处理大规模数据流时能够保持高效且稳定。 一、Storm简介 Apache Storm是一个开源的分布式实时计算系统,它允许开发者处理无限的数据流,就像处理数据库查询...

    Storm 源码分析

    Apache Storm是一款开源的分布式实时计算系统,它提供了简单而强大的API来定义数据流处理逻辑,同时保证了消息处理的容错性和高性能。Storm的设计目标是成为实时计算领域的Hadoop,支持多种编程语言,并且能够很好地...

Global site tag (gtag.js) - Google Analytics