十一、Storm简介

来源:互联网 发布:己知直径求周长 编辑:程序博客网 时间:2024/06/16 16:29

一、简介

官方网址:http://storm.apache.org/

Apache Storm是一个免费、开源的分布式实时计算系统。使用它可以轻松实现数据流的实时处理。Strom很简单,可以用任何编程语言!

 

Storm用例:实时在线分析,机器学习,连续计算,分布式RPC,ETL等。

Strom特点:

快速:基准时钟在超过一百万元组每秒处理的每个节点。

简易的设置:有可扩展性、容错性,保证了数据的处理能力,并且易于设置和操作。



二、Storm与Hadoop的对比


Topology 与 Mapreduce

一个关键的区别是: 一个MapReduce job最终会结束, 而一个topology永远会运行(除非你手动kill掉)

 

Nimbus 与 ResourManager

在Storm的集群里面有两种节点: 控制节点(master node)和工作节点(worker node)。控制节点上面运行一个叫Nimbus后台程序,它的作用类似Hadoop里面的JobTracker。Nimbus负责在集群里面分发代码,分配计算任务给机器, 并且监控状态。

 

Supervisor (worker进程)与NodeManager(YarnChild)

每一个工作节点上面运行一个叫做Supervisor的节点。Supervisor会监听分配给它那台机器的工作,根据需要启动/关闭工作进程。每一个工作进程执行一个topology的一个子集;一个运行的topology由运行在很多机器上的很多工作进程组成。



三、storm的运行机制





四、Strom集群架构体系




Storm集群部署:Storm集群部署




五、Storm的基本概念

在深入理解Storm之前,需要了解一些概念:

Topologies :拓扑,也俗称一个任务,类似于mapreduce中的job

Spouts :拓扑的消息源

Bolts :拓扑的处理逻辑单元

tuple:消息元组

Streams :流


Stream groupings :流的分组策略


Tasks :任务处理单元

Executor :工作线程

Workers :工作进程


Configuration : topology的配置

Topologies 逻辑单元:Spouts 与 Bolts 消息





六、实例



原创粉丝点击