storm 入门

  • 2015-09-21
  • 浏览 (880)

    Storm是一个分布式的,可靠的,容错的数据流处理系统。它会把工作任务委托给不同类型的组件,每个组件负责处理一项简单特定的任务。Storm集群的输入流由一个被称作spout的组件管理,spout把数据传递给bolt, bolt要么把数据保存到某种存储器,要么把数据传递给其它的bolt。你可以想象一下,一个Storm集群就是在一连串的bolt之间转换spout传过来的数据。
由于这个工具的名字叫Storm,这些术语一律按照气象名词解释

    spout(英[spaʊt] 美[spaʊt]) 龙卷,读取原始数据为bolt提供数据

    bolt([英]bəʊlt [美]boʊlt) 雷电,从spout或其它bolt接收数据,并处理数据,处理结果可作为其它bolt的数据源或最终结果

    nimbus([英]ˈnɪmbəs [美]ˈnɪmbəs) 雨云,主节点的守护进程,负责为工作节点分发任务。


下面的术语跟气象就没有关系了

    topology([tə'pɒlədʒɪ] [tə'pɑ:lədʒɪ]) 拓扑结构,Storm的一个任务单元

    define field(s) 定义域,由spout或bolt提供,被bolt接收

注:龙卷产生雷电,龙卷和雷电都在雨云中。 

一般来说spout/bolt的生命周期如下:

1.在提交了一个topology之后(在nimbus所在的机器), 创建spout/bolt实例(spout/bolt在storm中统称为component)并进行序列化.

2.将序列化的component发送给所有的任务所在的机器

3.在每一个任务上反序列化component.

4.在开始执行任务之前, 先执行component的初始化方法(bolt是prepare, spout是open).
0  赞