Storm 简介

Storm是一个分布式的,可靠的,容错的数据流处理系统。它会把工作任务委托给不同类型的组件,每个组件负责处理一项简单特定的任务.

类似于Hadoop MR, 用户只需要按照规定的编程规范实现一个任务, 将任务Submit 到Storm, Storm 就可以将任务 7 * 24 小时的调度起来。

Storm 基本概念

Hadoop(MR job) Storm 描述
JobTracker Nimbus 负责资源分配和任务调度. 接收client 提交的Topology
TaskTracker Supervisior 接收Nimbus 分配的任务,启动和停止属于自己管理的worker 进程
Child Worker 运行具体处理组件逻辑的进程
Job Topology 由Spout 和 Bolt 构成, 处理的最小信息单位是一个Tuple
Mapper/Reducer Spout/Bolt Spout 是发出Tuple 的节点。 Bolt 可以随意订阅某个Spout 或 Bolt 发出的Tuple. Spout 和 Bolt 统称为Component

系统架构图

Storm 简介_第1张图片
Components of a Storm cluster

角色之间的关系:

  1. Storm中节点状态信息保存在Zookeeper里面,Nimbus通过向Zookeeper写状态信息分配任务
  2. Supervisor通过从Zookeeper订阅相关数据领取任务,根据需要启动/ 关闭worker进程
  3. 同时Supervisor也定期发送心跳信息到Zookeeper,使得Nimbus可以掌握整个Storm集群的状态,从而可以进行任务调度或负载均衡。

你可能感兴趣的:(Storm 简介)