Storm笔记

Storm 七种分组 类似于MapReduce中suffer
NImbus :负责任务的分配以及调度
Supervisor:负责接收Nimbus分配下来的任务以及启动或者停止属于自己管理的worker。worker数量根据端口来确定
worker:worker是一个进程是执行任务(spout任务和blot)的组件 负责执行spout任务和bolt任务:每个worker进程可以有多个spout任务和blot任务
task:worker之下的任务单元是一个个线程;属于spout任务和bolt任务并发度中的一个(即一个spout或者blot)
Storm 0.8之后task不再和物理线程对应 一个物理线程可能包括多个task,多个task共享一个物理线程,该线程被称为execute

storm编程模型:
Datasource :外部数据源
SPout:接收外部数据源的组件,将外部数据源转化成为Storm内部的数据,一Tuple为基本的基本传输单元发送给bolt
bolt:接收其他Spout发送的数据,或者上游的bolt的发送数据,根据业务逻辑进行处理,发送给下一个bolt或者是存储到某种存储介质例如redis、mysql。。。
tuple:storm中的数据传输的基本单元,里边封装了一个list对象,用来保存数据
Streamgroup:Storm中数据的分组策略 例如上图的七种

Topology与Worker
一个Worker只能属于一个topology,反之,一个topology包含多个worker,即一个topology运行在多个worker上边

一个topology要求的worker数量如果不被满足,那么集群在分配任务的时候会先运行该topology,如果当前集群空闲的worker数量为0,那么该logology会被标识为Active状态,但是并不会运行,当有了空闲资源后,才会被运行 (队列模式:先进先出,后来的后运行)
并发度:
用户指定的一个任务,可以被多个线程执行,并发度的数量等于线程的数量,一个任务中的多个线程,会被运行在多个worker(JVM)上,有一种类似于平均算法的负载均衡的策略,尽可能减少I/O 和hadoopMapReduce本机计算道理一样

架构:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值