Storm的相关概念

Storm需要知道的几个概念

1.Topologies

通过Stream Groupings 将 Spouts和Bolts连接起来构成一个Topology。一个Topology会一直运行下去,知道你手动将其停止,Storm自动重新分配执行失败的任务

2.Streams

消息流Stream是Storm里的关键抽象。一个消息流其实就是一个没有边界的tuple序列,而这些tuple序列会以一种分布式的方式并行地创建和处理。通过对Stream中tuple的每个字段命名来定义Stream。在默认情况下,tuple的字段类型可以是 integer、long、short、byte、string、double、float、boolean、byte array,同时也可自己定义

3.Spouts

消息源Spout是Storm里面一个Topology中的消息生产者(消息源一般来自 数据库、MQ、文件 ....)

4.Bolts

所有的消息处理逻辑都封装在Bolts里面。Bolts可以做很多事情 eg: 过滤、聚合、查询数据库

5.Stream Groupings

定义一个Topology的其中一步是定义每个Bolt接收什么样的流作为【输入】。Stream Grouping 就是用来定义一个Stream应该如何分配数据给Bolts上面的多个Tasks的

Storm里面有7种类型的SG

Shuffle Grouping:随机分组

Fields Grouping:按字段分组

All Grouping:广播发送

Global Grouping:全局分组

Non Grouping:不分组

Direct Grouping:直接分组

Local or Shuffle Grouping:如果目标Bolt有一个或者多个task在同一个工作进程中,tuple将会被随机发送给这些tasks。否则,和普通的Shuffle Grouping行为一致。

6.Relliability:可靠性

Strom保证每个tuple会被Topology完整执行。Storm会追踪由每个Spout tuple 所产生的tuple树,并跟踪器何时处理成功。另外,每个拓扑都有一个消息超时时间的设置,如果超过这个时间检测到拓扑没有执行成功,那么拓扑会将这个tuple标识为失败,后面会继续重发。

7.Tasks

Spout 和 Bolt都会被当做很多task在整个集群里执行

8.Workers

一个topology可能会在一个或多个worker(工作进程)中执行,每个worker是一个物理JVM并且执行整个拓扑中的一部分

9.Configuration

Storm配置


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值