当前位置:首页 > 娱乐星闻

spout 好程序员大数据教程分享:Storm架构

优秀程序员大数据教程:风暴架构,风暴架构:主/从

主节点:光轮

负责拓扑分布以及集群上资源的调度和监控

工作节点:主管

收到任务请求后,启动一个或多个工作进程来处理任务;默认情况下,主管最多可启动4名员工

工作过程:工人

在Supervisor的子流程中,有几个Spout和Bolt线程,负责Spout和Bolt组件的处理任务(实际上是打开的执行器线程)

作业:拓扑(无限循环,永无止境)

喷口:获取数据的组件

螺栓:处理数据的组件

流:喷口和螺栓之间的数据流通道

元组:

1)流的最小单位,Spout向Bolt发送一次数据,称为Tuple

2)同一流中元组的类型相同,但不同的流可能相同/不同

3)键值形式的映射

数据流分发策略(流分组):

解决了Spout和Bolt之间的数据传输(发送元组)问题

1)洗牌分组:

将流中的元组随机调度到螺栓

2)字段分组:

根据字段的哈希值和螺栓的数量,将它们分组发送。一个节点是工人,一个螺栓是任务。所有节点的线轴或螺栓数量称为并发。

风暴并发设置:

1.1。工作线程并发:

首先,它是根据群集大小和群集的物理位置设置的

工作人员通常被分配到每个节点,默认情况下,主管设置一个工作人员

2.喷口数量设置:

默认情况下,线轴总数等于卡夫卡(消息中间件)对应的主题分区数,提高了吞吐速度

一般来说,工人设置一个喷口

3.螺栓1数量设置:

首先,根据数据量和处理数据的时间进行设置

一般情况下,Bolt1的数量是Spout的两倍(根据项目修改)

4.螺栓2数量设置:

首先根据数据量和处理时间来设置,因为Bolt1传输的中间结果数据已经减少了很多,Bolt2的数量可以适当减少。

容错机制:异或模式:

TupleId-生成新数据时,会生成一个TupleId;

整个流程中的元组标识在顺序上或末尾是不同的

如果结果为0,则数据正确,否则为错误

MessageId——代表整个信息,在API中指定,提供给程序员。长的

代表一条信息,并被提供给风暴框架

有两种数据操作失败的情况:

execute(){

1.异常(数据异常)

2.任务超时-处理被认为失败

}

如何解决数据传输造成的重复数据传输问题?

Ⅰ.

1.例如,处理订单信息,并在成功处理后将订单信息存储到Redis(set)

2.发送信息时,判断信息是否经过处理

execute(){

if()

else()

}

Ⅱ.

无处理:点击流日志分析:pv,uv

指标分析:订单号和订单金额

消息可靠性保证和分组机制:打开/下一个元组/确认/失败/关闭

ⅰ.喷口等级:

在发送元组时,Spout会提供一个msgId,以便以后识别元组;Storm将根据msgId跟踪创建的元组树,直到元组被完全处理。根据msgId,它会调用最初发送元组的Spout中的ack()方法,如果检测到超时就调用fail()方法——这两个方法必须由最初创建元组的Spout调用;当Spout从消息队列中取出一条数据(卡夫卡/rockemq)时,实际上并没有取出,而是保持暂停状态,等待消息完成信号,暂停状态的信息不会发送给其他消费者;当消息被“取出”时,队列将向客户端提供消息体数据和唯一的msgId。当调用Spout的ack()/fail()方法时,Spout请求队列根据发送的id将消息移除/放回队列。

ⅱ.acker任务:

高效的实现可靠性——在Spout中定义的ack()和fail()方法必须在Bolt中显式调用。风暴拓扑有一些特殊的任务叫做“acker”,它负责跟踪由Spout发送的元组的DAG。当一个acker发现DAG完成时,它会发送一个消息给创建了Spout元组的Spout任务,并让这个任务来应答这个消息。Acker不直接跟踪元组树。在acker树中存储了一个表,它用一对值来映射喷口元组的id。id是创建元组的任务id,第二个值是64位数字(ack val),它是树中所有已创建或已应答元组的元组id的异或运算的结果。

ⅲ.移除可靠性:

1.设置配置。拓扑_ACKERS至0

2.忽略SpoutOutputCollector.emit方法中的消息id,以关闭spooltuple的跟踪功能

3.发送元组时,选择发送“未锚定”元组

亲爱的大数据爱好者们,虽然现在的学习之路很艰难,但是前面还有很多艰难的战斗。希望大家不管多累都沉下心继续往前跑!

1.《spout 好程序员大数据教程分享:Storm架构》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《spout 好程序员大数据教程分享:Storm架构》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/1197642.html

上一篇

韩国上空出现不明发光体 具体是什么东西

下一篇

rpo招聘是什么意思

李国庆能否夺回当当管理权? 李国庆发告全体员工书事件始末最新消息

李国庆能否夺回当当管理权? 李国庆发告全体员工书事件始末最新消息

4月26日,有消息称我是律师的朋友,首席内幕官等。,微博V爆料,今天李国庆带领四大好汉抢公章。并在公司贴出《致当当全体员工报告》,指出李国庆全面接管公司,负责公司的经营管理。鱼雨不再担任当当公司的执行董事、法定代表人和总经理。鱼雨无权以当当公司...

国家图书馆官网手机版 国家图书馆免费开放175个数据库,这下有福了

  • 国家图书馆官网手机版 国家图书馆免费开放175个数据库,这下有福了
  • 国家图书馆官网手机版 国家图书馆免费开放175个数据库,这下有福了
  • 国家图书馆官网手机版 国家图书馆免费开放175个数据库,这下有福了
腾讯员工平均月薪7.27万是真的吗?数据哪里来?

腾讯员工平均月薪7.27万是真的吗?数据哪里来?

昨晚发布了腾讯控股第二季度业绩报告。根据财报数据,2019年上半年,腾讯员工56310人,薪酬成本242.59亿元。按照这个计算,平均月薪7.09万。第二季度,腾讯员工季度平均工资涨到218100元,即月平均工资72700元,增加1800元。最...

合肥火灾最新消息2020 4.28合肥市站前路宝业窗帘家纺广场突发大火

突然!今天上午10点左右,合肥市站前路宝业窗帘家纺广场发生火灾。2.冷静冷静,不要拥挤不管火灾情况有多严重,我们都应该尽力保持冷静。只有这样,我们才能保持敏锐的判断和观察,在紧急情况下找到有效的逃生方法。3.注意防烟——“烟”是火灾中的头号杀手...

全国已连续13天无新增死亡病例具体是什么情况附详细数据

  • 全国已连续13天无新增死亡病例具体是什么情况附详细数据
  • 全国已连续13天无新增死亡病例具体是什么情况附详细数据
  • 全国已连续13天无新增死亡病例具体是什么情况附详细数据
陕西新增20例境外输入确诊病例具体情况是怎样的附详情数据

陕西新增20例境外输入确诊病例具体情况是怎样的附详情数据

最近大家比较关心的就是黑龙江那边的疫情,因为连续几日都有新增病例发生。但是,却忽视了陕西,最新报道:陕西新增20例境外输入确诊病例。那具体情况是怎样的呢?最近,人们更关心黑龙江的疫情,因为连续几天都有新病例发生。然而,陕西一直被忽视。最新报道:...

2020河北养老金上调方案如何河北省养老金调整2020新消息

养老金增长5%已经确定,具体调整有定额调整、挂钩调整、倾斜调整。2020年河北省养老金将如何调整?4月17日,人力资源和社会保障部、财政部发布关于调整2020年退休人员基本养老金的通知,明确整体养老金比例为5%。各省以此为上限提高养老金,不得自...

国内油价调整新消息:本轮油价继续搁浅 下次调整5月14日24时

昨晚刚刚进行了4月份的第二次油价调整,其中油价再次实现了搁浅调整。现在这个月,油价调整已经结束,实现了连续两次油价搁浅调整。接下来将进入5月份的油价调整。好在现在的原油价格还很低,我们来看看接下来的油价走势。下一次油价调整时间:5月14日24:...