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 文档。
相关推荐
3. 容错性:当工作节点失败时,任务可以自动重新分配。 4. 实时性:可以对流式数据进行实时处理。 5. 易于扩展:可以灵活调整spout和bolt的并行度来扩展处理能力。 Storm的拓扑结构是由spouts和bolts按照特定的顺序...
**Storm记录级容错机制详解** Storm作为实时流处理框架,提供了一种高效且精确的一次处理(Exactly-once ...因此,Storm的记录级容错机制能够有效保证流处理的正确性和可靠性,为实时数据处理提供了坚实的基础。
它具有可扩展性、容错性,保证您的数据将得到处理,并且易于设置和操作。 Apache Storm 与您已经使用的队列和数据库技术集成。Apache Storm 拓扑使用数据流并以任意复杂的方式处理这些流,根据需要在计算的每个阶段...
**正文** 在大数据实时处理领域,Apache Storm与Apache Kafka经常被结合使用,形成高效的数据流处理系统。...在实际应用中,还需要关注系统的扩展性、容错性以及资源利用率等多方面因素,以实现最佳性能。
5. 容错性:Storm具备容错能力,当计算出现错误时,系统能够重新分配任务,保证计算的持续进行。 6. 编程语言无关:Storm支持使用任何编程语言来定义拓扑和处理组件,这为不同背景的开发人员提供了便利。 在架构上...
Storm是一款强大的分布式实时数据处理框架,具有低延迟、高性能、容错性好等特点。它支持多种编程语言,适用于信息流处理、连续计算和分布式远程过程调用等多种应用场景。通过本文介绍的知识点,读者可以对Storm有一...
作为分布式系统架构,Hadoop具有高可靠性、高扩展性、高效性、高容错性和低成本的优点。然而随着数据体积越来越大,实时处理能力成为了许多机构需要面对的首要挑战。Hadoop是一个批处理系统,在实时计算处理方面显得...
它具有可扩展性、容错性,保证您的数据将得到处理,并且易于设置和操作。 Apache Storm 与您已经使用的队列和数据库技术集成。Apache Storm 拓扑使用数据流并以任意复杂的方式处理这些流,根据需要在计算的每个阶段...
7. **容错机制**:Storm通过检查点和故障恢复来保证容错性,即使节点失败,也能从最近的检查点恢复。 8. **Zookeeper**:作为协调服务,存储元数据和状态信息,确保集群的一致性和高可用性。 9. **nimbus**和**...
在已有的流式处理系统中,Storm系统具有良好的稳定性、高可扩展性以及高容错性等优点,使它在流式数据处理系统中脱颖而出。但是在任务调度方面,Storm系统并没有做过多的考虑,默认采用相对简单的轮询调度法,导致...
Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快(在一个小集群中,每个结点每秒可以处理数以百万计的消息)。 Storm的部署和运维都很便捷,而且更为重要的是可以使用任意编程语言来...
Apache Storm的核心特性包括容错性、高吞吐量以及可扩展性,使其成为实时处理领域的首选工具之一。通过这个入门实例,用户可以学习如何定义Spouts(数据源)和Bolts(数据处理组件),构建拓扑结构,以及如何提交到...
3. **容错性**: Storm具备高容错性,能够自动检测和恢复失败的任务,确保数据处理的可靠性。 4. **水平扩展**: Storm支持水平扩展,可以通过增加更多的节点来提高处理能力,以应对不断增长的数据量。 #### 四、性能...
Storm 的设计目标是提供一个简单易用、可扩展且容错性高的平台,用于处理无界数据流(即持续不断地产生数据的数据流),并且能够保证消息的可靠传输。 Storm 与 Hadoop 类似,但主要针对的是实时数据处理,而Hadoop...
Apache Storm是一个分布式实时计算系统,它允许用户定义复杂的流处理逻辑,可以连续处理无界数据流,具有高容错性和可扩展性。源码分析对于理解其内部工作原理、优化性能以及开发自定义组件至关重要。Apache Storm ...
Apache Storm是一个开源的分布式实时计算系统,它允许开发者处理无界数据流,具有高度容错性和高吞吐量的特点。这个JAR包是Storm的核心组件,包含了运行Storm集群所需的库和类。 在描述中,"storm0.9.0jar包"的简单...
此外,Storm支持容错机制,即使部分节点失败,系统也能自动恢复,保证服务的高可用性。 总结来说,"storm的jar包"是Storm实时处理框架的基础,包含了运行和开发Storm应用所需的所有组件和库。通过深入理解和使用这...
Storm设计的核心理念是简单、可扩展和容错性,使得它在处理大规模数据流时能够保持高效且稳定。 一、Storm简介 Apache Storm是一个开源的分布式实时计算系统,它允许开发者处理无限的数据流,就像处理数据库查询...
Apache Storm是一款开源的分布式实时计算系统,它提供了简单而强大的API来定义数据流处理逻辑,同时保证了消息处理的容错性和高性能。Storm的设计目标是成为实时计算领域的Hadoop,支持多种编程语言,并且能够很好地...