Storm概念解析

Storm 是什么
  • Storm 是一个分布式的,可靠的,容错的流式计算框架

  • Storm 可以实时可靠的处理流数据,在实时分析/性能监测等需要高时效性的领域广泛采用

  • Storm把集群的状态存在Zookeeper或者本地磁盘,所以后台进程都是无状态的(不需要保存自己的状态,都在zookeeper上),可以在不影响系统健康运行的同时失败或重启

  • Storm可应用于–数据流处理、持续计算(持续地向客户端发送数据,它们可以实时的更新以及展现数据,比如网站指标)、分布式远程过程调用(轻松地并行化CPU密集型操作)

Storm 和 Hadoop 对比
StormHadoop
实时的流处理框架批量处理
基于ZooKeeper的 master/slave 结构;master被称为nimbus,slaves被称为supervisorsmaster-slave结构,不依赖于ZooKeeper;master节点是任务调度者,slaves节点是任务执行者
Storm 集群能够每秒处理成千上万的信息hdfs利用MapReduce进行大批量数据的离线计算
Storm 一旦运算开始将不会停止,除非杀死进程MapReduce按指定顺序完成作业
如果nimbus/supeervisors集群中某一节点挂掉,重新启动后任务将会从上次断开处继续执行如果作业调度者死亡,所有作业将消失
Storm 中的一些基本概念
组件描述
Tupletuple 是Storm中的主要数据结构(数据的基本单位),是一个有序元素的集合。tuple 支持所有的数据类型
Stream一组无序的 tuple
Spout数据源头。负责接收外部数据封装为数据源以供集群中的Bolt使用
Bolt逻辑处理单元,是计算的核心,负责计算从Spout源头传过来的数据,并将结果进行输出
Topology将Spout和Bolt关联在一起的拓扑结构,使其具备实时处理能力,相当于MapReduce
Task负责执行Spout和Bolt的引擎
Executor执行线程,执行task任务
Worker工作进程,管理分配作业线程
Stream groupingStorm的流分组。控制tuple的流向策略(从Spout流向Bolt,或者从Bolt流向其他Bolt,都可以选择不同的分组策略进行控制)

下图是Storm的处理流程:

image

Storm 集群中的进程
进程描述
nimbus管理节点进程
supervisor从属节点进程
worker工作进程
coreui进程
logviewer日志进程

下图是各进程的关系:

image

参考
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值