Storm-核心概念

核心概念

  1. Topologies 拓扑,将整个流程串起来
    1. 计算拓扑,由spout和bolt组成
    2. 类似于MR作业
      1. MR最终要完成,topology会一直运行除非自己杀死
    3. 对应的资源
      1. TOPOLOGYBUILDER
      2. Running topologies on a production cluster
      3. Local mode
  2. Streams 流,数据流,水流
    1. 消息流,抽象概念,没有边界的tuple构成
    2. 一个Stream是由一系列有序的tuple组成。
    3. tuple包含int,long,shorts,byte,string,double floats and byte arrays
    4. 对应资源
      1. Tuple
      2. OutputFieldsDeclarer
      3. Serialization
  3. Spouts 产生数据/水流的东西
    1. 消息流的源头,Topology的消息生产者
    2. 可靠和不可靠
    3. 可以发送多个stream
    4. 最主要的方法nextTuple,发送新的tuple到拓扑里面或者简单的返回什么都不做
    5. ack 和fail方法 保证数据是否正常处理。自动调用
      1. 仅仅会在可靠的spout中调用
    6. 对应的资源
      1. IRichSpout
      2. 如何保证消息被处理,ack和fail
  4.  Bolts 处理数据/水流的东西
    1. 消息处理单元,可以做过滤,聚合,查询/写数据库的操作
    2. 主要方法
      1. execute 执行
    3. 在bolt中启动多线程
    4. 对应的资源
      1. IRichBolt
      2. IbasicBolt
      3. OutputCollector
      4.  
  5. Tuple 数据/水
    1. 消息/数据 传递的基本单元
  6. Stream Grouping
  7. Reliability 可靠性
  8. Task
  9. Workers
    1. 每一个worker进程是一个物理JVM进程,执行多有拓扑的子集

核心概念讲解-地铁运行模型

  1. 地铁由多个车厢构成;
  2. 车厢中有很多乘客
  3. 每个站点有不少的人上车和下车
  4. 地铁有始发站,经停站,终点站;
  5. 地铁停靠站通过地铁调度中心进行控制

storm

  1. 流理解成地铁
  2. tuple数据----人
  3. 在bolt中处理业务逻辑,其实就是针对tuple进行处理

 

流程图

Apache Storm 是一种开源的分布式实时计算系统,其核心概念包括以下几个方面: 1. Topology(拓扑):Storm 应用程序的计算结构被称为拓扑,它由一组节点(Spout 和 Bolt)和它们之间的数据流组成。拓扑定义了 Storm 应用程序的数据流转方式和计算逻辑。 2. Spout:Spout 是 Storm 中的数据源,用于读取数据并将其发送给下一个 Bolt。Spout 可以从文件、网络、消息队列等多种来源读取数据,并将其转换为数据流。 3. Bolt:Bolt 是 Storm 中的计算节点,用于处理和转换数据流。Bolt 可以执行各种计算任务,例如过滤、聚合、计数、统计等,并将结果发送给下一个 Bolt 或者 Spout。 4. Stream:Stream 是 Storm 中的数据流,它是由 Spout 发送并经过一系列 Bolt 处理后形成的。Stream 中包含了一系列元组(Tuple),每个元组都是一个包含多个字段的数据结构。 5. Tuple:Tuple 是 Storm 中的基本数据单元,它是一个不可变的数据结构,包含了多个字段。Tuple 通过 Stream 在 Spout 和 Bolt 之间传递,每个 Bolt 可以对 Tuple 进行处理和转换。 6. Task:Task 是 Storm 中的计算任务,它是 Bolt 或者 Spout 的执行实例。每个任务都会处理一个或多个 Tuple,并且可以在不同的节点上执行。 7. Worker:Worker 是 Storm 中的计算节点,它负责运行一个或多个 Task,并且可以在集群中的不同节点上执行。每个 Worker 运行在一个独立的 JVM 进程中,可以同时运行多个 Task。 8. Nimbus:Nimbus 是 Storm 中的主节点,它负责接收和分配拓扑,并且协调集群中的所有工作节点。Nimbus 会监控所有工作节点的状态,并且在出现故障时自动进行容错处理。 9. Supervisor:Supervisor 是 Storm 中的工作节点,它负责接收和执行任务,并且向 Nimbus 报告节点的状态。每个 Supervisor 可以运行多个 Worker,并且可以在同一台机器上运行多个 Supervisor。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值