1、基本概念
Apache Storm是一个免费、开源的分布式实时计算系统。使用它可以轻松实现数据流的实时处理。Strom处理数据快速,基准时钟在超过一百万元组每秒处理的每个节点。易于设置和操作,具有可扩展性、容错性,保证了数据的处理能力。Storm主要用于实时在线分析,机器学习,连续计算,分布式RPC,ETL等。
2、Storm的运行机制
Storm实时处理数据,通过一个个节点对数据加工,最后输出数据,主节点不处理数据,每一个supervisor节点处理数据,每一个supervisor节点可以有多个线程。
3、Storm组件及示例说明
(1)Topologies:拓扑,也俗称一个任务,类似于mapreduce中的job
(2)Spouts:拓扑的消息源,Storm集群从Spouts组件中读取数据
(3)Bolts:拓扑的处理逻辑单元,真正的执行任务
(4)Tuple:消息元组,在不同的Spouts之间传递
(5)Streams:流,在流中发送的就是Tuple
(6)Stream groupings:流的分组策略
(7)Tasks:任务处理单元
(8)Executor:工作线程
(9)Workers:工作进程
(10)Configuration:Topology的配置
举例说明:将手机型号转换成大写,并且加上当前时间,再输出到文件。
说明:Spouts与Bolts之间或者Blots组件之间传递的是Tuple,Tuple可以理解为一个数组,数组中的每一项都是一个key-value键值对。