Storm容错机制

大数据领域Storm的容错机制解析 基石,强健的At-Least-Once保证。理解其树跟踪模型、ACK/Fail流程、超时重发机制至关重要。这是所有Storm容错的起点。追求Exactly-Once的利剑。深刻理解批次、顺序处理、幂等状态管理、分离的提交阶段是关键。牢记其开销较大。系统稳定运行的卫兵。Supervisor对Worker的快速重启,Nimbus无状态+ZK依赖的HA设计,确保了服务层面的高可用。可靠的状态存储器与协调器。整个Storm集群容错的中枢神经系统。容错级别选择:开启ACK(At-Least-Once)是。 阅读详情

任务级失败

1.Bolt任务crash引起的消息未被应答。此时,acker 中所有与此Bolt任务关联的消息都会因为超时而失败,对应的Spout的 fail方法 将被调用。

2.acker任务失败。如果acker任务本身失败了,它在失败之前持有的所有消息都将超时而失败。Spout的fail方法将被调用。

3.Spout任务失败。在这种情况下,与Spout任务对接的外部设备(如MQ)负责消息的完整性。例如,当客户端异常时,kestrel队列会将处于pending状态的所有消息重新放回队列中。

任务槽(slot)故障

1.Worker失败。每个Worker中包含数个Bolt(或Spout)任务。Supervisor负责监控这些任务,当worker失败后会尝试在本机重启它,如果它在启动时连续失败了一定的次数,无法发送心跳信息到Nimbus,Nimbus将在另一台主机上重新分配worker。

2.Supervisor失败。Supervisor是无状态(所有的状态都保存在Zookeeper或者磁盘上)和快速失败(每当遇到任何意外的情况,进程自动毁灭)的,因此Supervisor的失败不会影响当前正在运行的任务,只要及时将他们重新启动即可。

3.Nimbus失败。Nimbus也是无状态和快速失败的,因此Nimbus的失败不会影响当前正在运行的任务,但是当Nimbus失败时,无法提交新的任务,只要及时将它重新启动即可。

集群节点(机器)故障

1.Storm集群中的节点故障。此时Nimbus会将此机器上所有正在运行的任务转移到其他可用的机器上运行。

2.Zookeeper集群中的节点故障。Zookeeper保证少于半数的机器宕机系统仍可正常运行,及时修复故障机器即可。

Nimbus是否是“单点故障”的
如果失去了Nimbus节点,Worker也会继续执行。另外,如果worker死亡,Supervisor也会继续重启他们。但是,没有Nimbus,Worker不会在必要时(例如,失去一个Worker的主机)被安排到其他主机,客户端也无法提交任务。

所以Nimbus“在某种程度上”是单点故障。在实践中,这不是一个大问题,因为Nimbus守护进程死亡,不会发生灾难性问题。

【Storm】四、Storm程序并发机制、任务提交过程、消息容错机制 大纲: Storm程序的并发机制 Storm任务提交的过程 Storm消息容错机制 1、Storm程序的并发机制 1.1、概念 Workers (JVMs): 在一个物理节点上可以运行一个或多个独立的JVM 进程。一个Topology可以包含一个或多个worker(并行的跑在不同的物理机上), 所以worker process就是执行一个topology的子集, 并且worker只... 阅读详情

相关推荐

农业AI避坑指南:用YOLO11做叶片病害检测时遇到的5个典型问题

本文分享了使用YOLO11模型进行农业叶片病害检测时常见的五个典型问题及解决方案。针对田间多变光照、病害样本不均衡、标注歧义、背景干扰和边缘部署等挑战,提供了包括场景自适应数据增强、解耦训练、软标签与鲁棒损失函数、困难负样本构建以及模型轻量化部署在内的实战经验,旨在帮助开发者提升农业AI项目的落地效果。

ujm56789012的博客 206

大数据-Storm流式框架(四)---storm容错机制

spout发射元组的时候会给合适的acker发送一个消息表示对哪个spout的元组负责。storm的拓扑中提供了一组acker用于追踪spout发射的每个元组及其衍生的元组,一旦发现DAG处理完了,就同创建该元组的spout进行确认。ack val代表了该元组树的状态,不管spout发射的元组及其衍生的元组有多少,它仅仅是对所有创建的元组以及确认的元组id求。某个元组的id和该64bit的数字异或结果是0的情况极其少见,比如每秒处理10k的元组,需要5000万年才会产生一个错误,造成数据丢失。

yaya_jn的博客 462

Androiud安卓链接sqllite的代码使用案例

【代码】Androiud安卓链接sqllite的代码使用案例。

laterstage的博客 1328

Storm部分:Storm的容错机制

    Storm 的容错机制包括架构容错和数据容错。 1)架构容错: Nimbus 和 Supervisor 进程被设计成快速失败(fail fast)的(当遇到异常的情况,进程就会挂掉)并且是无状态的(状态都保存在 Zookeeper 或者在磁盘上)。最重要的是,worker 进程不会因为 Nimbus 或者 Supervisor 挂掉而受影响。这跟Hadoop 是不一样的,当...

wyqwilliam的博客 1137

华中农业大学C++考试基础练习题

实验一 1 通过日期求某月的天数。 输入日期的年份和月份,求该月有多少天。提示:对于月份为1、3、5、7、8、10、12的月份天数为31,月份为4、6、9、11的月份天数为30,月份为2时要结合年份考虑闰年的情况。 输入描述 输入两个正整数y和m分别表示年份和月份。 输出描述 如果y和m满足条件:1900<=y<3000,0<m<13,输出该月的天数;否则输出“Input error!”。 输入样例 2010 12 输出样例 31 #include"iostream" using n

雨的博客 1万+

在windows10/11中使用ipatool提取苹果app安装包ipa文件

本文介绍了在Windows10/11系统中使用ipatool工具下载苹果App安装包(.ipa)的详细步骤。首先需准备Windows电脑、AppleID账号并下载ipatool工具;具体操作包括:登录AppleID、搜索应用、获取购买授权、查看历史版本及下载指定版本。关键步骤强调获取授权的重要性,并提供了常用命令速查表,帮助用户完成从登录到下载的全过程。该教程适用于需要获取旧版本App或进行应用测试的场景。

zhengshaolin128的博客 2583

storm的容错机制

集群容错:1.Nimbus挂掉如果失去了Nimbus节点,Worker也会继续执行;如果workerye消亡,Supervisor会重启worker。但是如果没有Nimbus,worker不会被安排到其他主机节点,客户端也无法提交新的任务。2.zookeeper挂掉zookeeper有主从结构,挂掉无影响。3.Supervisor失败真正执行进程的是worker,所以Supervisor失败不会影...

Dream__Sky_的博客 1251

Jetson nano 系列之2—板载摄像头IMX219启动

我选用的是亚博科技jetson nano的开发板。

驽马十驾,功在不舍;锲而不舍,金石可镂。 4274

Storm架构和容错机制

Storm架构原理 Storm核心组件 概述 Apache Storm提供了一种基于Topology流计算的概念,Topology等价于hadoop中的mapreduce计算,MapReduce极端最终会停止,Topology会一直运行,除非用户执行storm kill指令才会停止该计算。Storm的单个阶段每秒钟可以处理100万条数据/Tuple。 Nimbus:负责资源分配和任务调。 Sup...

weixin_43655644的博客 2181

[网络安全自学篇] 六十八.WannaCry勒索病毒复现及分析(二)MS17-010利用及病毒解析

这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前文分享了通过Python利用永恒之蓝漏洞加载WannaCry勒索病毒,并实现对Win7文件加密的过程,但过程较为复杂,为什么不直接利用永恒之蓝呢?所以,这篇文章将直接分享MSF利用MS17-010漏洞进行反弹Shell,再上传勒索病毒进行实验复现,并详细讲解WannaCry勒索病毒的原理。基础性文章,希望对您有所帮助。

杨秀璋的专栏 1万+

Python爬虫实战:使用最新技术爬取新华网新闻数据

在当今信息爆炸的时代,网络爬虫技术已经成为获取互联网数据的重要手段。作为国内权威新闻媒体,新华网每天发布大量高质量的新闻内容,这些数据对于舆情分析、市场研究、自然语言处理等领域具有重要价值。本文将详细介绍如何使用Python最新技术构建一个高效、稳定的新华网新闻爬虫系统。本文详细介绍了如何使用Python最新技术栈构建一个高效、稳定的新华网新闻爬虫系统。我们从基础爬虫开始,逐步添加了代理支持、用户代理轮换、请求延迟、重试机制、动态页面渲染、数据存储等高级功能,最终实现了一个生产可用的分布式爬虫系统。

2201_76125261的博客 1771

storm消息容错机制

1、Storm 消息容错机制(掌握) 对于每个Spout Tuple保存一个ack-val的校验值,它的初始值为0,然后每发射一个tuple或者ack一个tuple,tuple的id都要跟这个校验值异或一下,并且把得到的值更新为ack-val的新值。   &lt;ROOTID,ACKVALUE&gt; 1.1、总体介绍 在storm中,可靠的信息处理机制是从spout开始的。 一个提供...

qq_25460227的博客 1100

24. SAP UI5 应用如何使用 OData 数据模型

本教程之前的二十三个步骤,使用的数据模型都是 JSON 模型。从本步骤开始,我们要学习另一种非常重要的数据模型:OData 数据模型。 OData 数据模型也是 SAP 产品里广泛使用的数据模型,比如 SAP S/4HANA,SAP CRM Fiori 应用等等,都使用的是 OData 数据模型而不是 JSON 数据模型。 使用 OData 数据模型的典型场景就是,通过 OData 模型提供的 Read API,将远端服务器上存储的数据通过 OData 协议读取到客户端,并显示在 SAP UI5 应用里。.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5797

Storm之集群详解及容错机制

一、Storm集群架构 结合Storm集群架构图: 我们的程序提交流程如下: 其中各个组件的作用如下: Nimbus 资源调度 任务分配 接收jar包 Supervisor 接收nimbus分配的任务 启动、停止自己管理的worker进程(当前supervisor上worker数量由配置文件设定) Worker 运行具体处理运算组件的进程(每个Worker对应执行一个T...

lixinkuan的博客 908

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

‌Storm 实时计算:拓扑与容错机制

Storm 将数据流视为连续的事件序列,通过并行处理实现低延迟计算。Spout:数据源,负责从外部系统(如 Kafka)读取数据并发射 tuple(数据单元)。Bolt:数据处理单元,执行过滤、聚合或计算操作。Topology(拓扑):整个计算流程的蓝图,由 spouts 和 bolts 通过数据流连接而成。Storm 的拓扑结构提供灵活的数据流定义,而容错机制通过 Ack 系统确保高可靠性。优化拓扑设计,减少 bolt 间的依赖以降低失败概率。调整超时参数,平衡延迟和可靠性。

2501_93877092的博客 1654

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Storm 容错机制深度解析:从故障检测到自动恢复

在分布式系统中,故障是常态,而不是异常。网络抖动、节点宕机、进程崩溃、代码异常……这些故障随时可能发生。Storm 作为实时流处理系统,设计了一套完整的容错机制,确保在各种故障场景下,系统依然能够稳定运行,消息能够被可靠处理。本文将深入剖析 Storm 的容错机制原理,详细讲解当 Spout、Bolt、Worker、Supervisor、Nimbus 等组件失败时会发生什么,以及系统如何自动恢复。Storm 的容错机制覆盖了从进程到节点的多个层次:fill:#333;important;

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2889

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Storm篇】--Storm 容错机制

========================================================= 声明:由于不同平台阅读格式不一致(尤其源码部分),所以获取更多阅读体验!! 请关注本人博客园地址:http://www.cnblogs.com/LHWorldBlog/ 个人网站地址:http://www.lhworldblog.com/ ================

L先生AI课堂 684

Storm 实时计算:拓扑与容错机制

Storm 的拓扑提供了灵活的数据流定义,支持复杂实时计算;容错机制则通过 ACK 和重试确保系统鲁棒性。两者结合,使 Storm 成为企业级实时计算的可靠选择。

2501_93893795的博客 646

第1关:Storm 容错机制

ack val 代表了该元组数的状态,不管 spout 发射的元组及其衍生的元组有多少,它只对所有创建的元组以及确认的元组 id 求异或 xor 操作。当拓扑创建了元组,就会为其分配一个随机的 64bit 的 id,acker 使用该 ID 追踪 spout 发送的每个元组。当在闪电中创建了新的元组,该 ids 会拷贝给新的元组。storm 的拓扑中提供了一组 acker 用于追踪 spout 发射的每个元组及其衍生的元组,一旦发现 DAG 处理完了,就同创建该元组的 spout 进行确认。

m0_62103032的博客 398

大数据学习:storm的容错保障机制

集群容错: 1.Nimbus挂掉 如果失去了Nimbus节点,Worker也会继续执行;如果workerye消亡,Supervisor会重启worker。 但是如果没有Nimbus,worker不会被安排到其他主机节点,客户端也无法提交新的任务。 2.zookeeper挂掉 zookeeper有主从结构,挂掉无影响。 3.Supervisor失败 真正执行进程的是worker,所以Supervis...

wujixian123456的博客 205

Storm容错机制、Drpc、kafka集群搭建

Storm-容错机制、Drpc、kafka Storm-容错机制 架构 ​ Nimbus 分配任务、资源调度、上传jar包 ​ ZooKeeper 代理协调、健康检查(心跳) ​ Supervisor 接收Nimbus任务、开启/关闭自己管理的worker进程(可以开启n个woker) ​ Worker 运行具体处理运算组件的进程(每个Worker对应执行一个Topology的子集) ​ ...

修行的博客 288

Storm (容错机制、DRPC、事务)

一、Storm 容错机制 1、集群节点宕机 Nimbus服务器 : 单点故障 非Nimbus服务器 : 故障时,该节点上所有Task任务都会超时,Nimbus会将这些Task任务重新分配到其他服务器上运行。 2、进程挂掉 Worker:挂掉时,Supervisor会重新启动这个进程。如果启动过程中仍然一直失败,并且无法向Nimbus发送心跳,Nimbus会将该Worker重新分配到其他服...

放肆桀骜 498

Storm学习笔记 - 消息容错机制

Storm学习笔记 - 消息容错机制 文章来自「随笔」 http://jsynk.cn/blog/articles/153.html 1. Storm消息容错机制概念 一个提供了可靠的处理机制的spout需要记录自己emit(发射)的tuple(消息元祖),当下游bolt处理tuple或者子tuple失败时spout能够重新发射。 Storm通过调用Spout的nextTuple(...

diaoyu6432的博客 110
上一篇: Storm 可靠的与不可靠的消息
下一篇: hive优化
yjgithub
博客等级 码龄11年 53粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值