Storm 初步

Apache Storm is a free and open source distributed realtime computation system. Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing.

与 MapReduce(离线批量处理 )在应用场景上有很大的区别,离线批量处理主要是做数据挖掘、数据分析、数据统计以及 BI 分析等,“实时”则可以支持在线的业务系统。

Storm 的实时计算主要流式计算,如业务系统中采集过来的日志信息、或者报文,我们需要将其解析成某一格式,xml(json) =>(处理,实时处理) nosql(sql)

storm 本身不存储数据,数据从外部流进来,以结果的形式发出去,自身不做存储,故其使用 storm 一般需要结合消息队列(queuing)和数据库(database techniques),一般而言,消息队列是其数据源,数据库是其结果的输出目的地。

storm 基本概念:

  • Spouts/Bolts:Storm 集群中的两个组件,

    • Spouts 获取数据(一级);
    • Bolts:处理节点(多级,);
    • 而MR只有一个Map和一个Reduce
  • tuple 是介于 Spouts 和 Bolts 之间进行传递的消息元组
  • Topologies:拓扑,也俗称一个任务;

你可能感兴趣的:(Storm 初步)