storm(一) 集群架构

storm关键概念

  • storm不用来处理静态数据,主要用来处理动态数据
  • 一个topologies启动后是始终处于运行状态,除非手动关闭

storm 架构

  • Nimbus:管理节点,用于提交
  • Supervisor:从节点,接受来自于Nimbus节点的任务,管理Worker
    • Worker:工作进程,具体执行业务的工作进程
      • Executor:工作线程,一个实际的物理线程
        • Spout / Bolt:计算模型节点,也叫task,多个task可能公用一个Executor
  • Topology:执行程序,指定数据在Spout和bolt的流动方式
  • zookeeper:用来存储调度信息,supervisor要执行的任务,维护集群的状态。storm所有的元数据信息保存在Zookeeper中
    • 监听nimbus、supervisor、worker的心跳
    • 记录任务的分配情况。nimbus将任务分配发布到zk上,supervisor进行监听

    zookeeper: https://www.cnblogs.com/ierbar0604/p/3948528.html

storm(一) 集群架构

Topology

  • Tuple:消息传递的基本单元
  • Stream:Tuple的集合。表示数据的流向。
    • 每个stream都有一个唯一的id,如果不指定将为default。通过stream id可以定义不同流数据的去向
  • Spout:数据源
  • Bolt:执行处理的组件

Worker Executor task

  • 一台物理机上有多个Worker,一般默认是4个
  • 一个worker中会运行一个或多个Executor
  • 一个Executor只会运行一种task,task数量可能有多个,但是默认是一个Executor一个task
    storm(一) 集群架构

参考:https://blog.csdn.net/weiyongle1996/article/details/77142245?utm_source=gold_browser_extension