Storm基本概念

来源:互联网 发布:python 画y=lnx 编辑:程序博客网 时间:2024/05/21 08:00

基本概念

理解流式计算概念的要义:数据的处理步骤是预定的。

概念 含义 Topology 定义数据来了之后怎么一步步处理。这个预定的步骤,会形成一张逻辑的拓扑 Tuple 数据传输、处理的单元 Stream 数据以Tuple的形式,在Topologies中被加工、传递,形成数据流 Spout 数据输入单元,从数据源拉取数据,storm框架不断调用Spout接口读取数据 Bolt 数据处理单元, 处理来自Spouts或者是Bolts发出的Tuple。处理完的结果可以emit出去。 Stream Groupings 将流进行归类,归类了就好应用策略了,Eg. 同类型的数据走特定的Bolts去处理 Task Spouts/Bolts的处理过程被切分成很多Tasks任务,分散在集群上 Worker JVM进程,处理Task任务 Executor 官方文档上并没有将它列入concepts里面,Executor是Worker进程中处理Task的线程

组件

组件 作用 Nimbus 负责资源分配和任务调度 Supervisor 负责接收nimbus分配的任务,启停本节点的worker进程

比例关系

比例关系 说明 Nimbus:Supervisor=1:N 整集群一套Nimbus调度资源,每个节点一个Supervisor管理进程 Supervisor:Worker=1:N 每个supervisor开辟N多worker,即一个supervisor管理多个进程 Worker:Executor=1:N 每个worker可以运行N多Executor,即一个进程有多个线程 Executor:Task 没有可比性,Executor同时只能执行一个Task,看它怎么调度

和hadoop类比

Hadoop Storm JobTracker Nimbus TaskTracker Supervisor Child Worker Job Topology Mapper/Reducer Spout/Bolt
0 0