(01)Storm简介

  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键值对。

原文地址:https://www.cnblogs.com/javasl/p/12308313.html