Storm的编程模型与核心组件
2017-05-21 15:27
337 查看
Storm的编程模型:
1.模型图如下:
![](http://img.blog.csdn.net/20161218235943704?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjA2NDE1NjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2.名词含义:
DataSource:外部数据源
Spout:接受外部数据源的组件,将外部数据源转化成Storm内部的数据,以Tuple为基本的传输单元下发给Bolt
Bolt:接受Spout发送的数据,或上游的bolt的发送的数据。根据业务逻辑进行处理。发送给下一个Bolt或者是存储到某种介质上。介质可以是MongoDB或MySQL,或者其他。
Tuple:Storm内部中数据传输的基本单元,里面封装了一个List对象,用来保存数据。
StreamGrouping:数据分组策略
7种:shuffleGrouping(Random函数),Non Grouping(Random函数),FieldGrouping(Hash取模)、Local or ShuffleGrouping 本地或随机,优先本地。
其中Local or ShuffleGrouping 是如果分组的时候接收bolt的线程和发送者在一个JVM中默认优先选择一个JVM中的bolt就是local,否则和ShuffleGrouping效果一样。
Storm的核心组件:
1.如下:
![](http://img.blog.csdn.net/20161219000901397?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjA2NDE1NjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2.名词含义:
Nimbus:负责资源分配和任务调度。
Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。—通过配置文件设置当前supervisor上启动多少个worker。
Worker:运行具体处理组件逻辑的进程。Worker运行的任务类型只有两种,一种是Spout任务,一种是Bolt任务。
Task:worker中每一个spout/bolt的线程称为一个task. 在storm0.8之后,task不再与物理线程对应,不同spout/bolt的task可能会共享一个物理线程,该线程称为executor。
Zookeeper:保存任务分配的信息、心跳信息、元数据信息。
1.模型图如下:
2.名词含义:
DataSource:外部数据源
Spout:接受外部数据源的组件,将外部数据源转化成Storm内部的数据,以Tuple为基本的传输单元下发给Bolt
Bolt:接受Spout发送的数据,或上游的bolt的发送的数据。根据业务逻辑进行处理。发送给下一个Bolt或者是存储到某种介质上。介质可以是MongoDB或MySQL,或者其他。
Tuple:Storm内部中数据传输的基本单元,里面封装了一个List对象,用来保存数据。
StreamGrouping:数据分组策略
7种:shuffleGrouping(Random函数),Non Grouping(Random函数),FieldGrouping(Hash取模)、Local or ShuffleGrouping 本地或随机,优先本地。
其中Local or ShuffleGrouping 是如果分组的时候接收bolt的线程和发送者在一个JVM中默认优先选择一个JVM中的bolt就是local,否则和ShuffleGrouping效果一样。
Storm的核心组件:
1.如下:
2.名词含义:
Nimbus:负责资源分配和任务调度。
Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。—通过配置文件设置当前supervisor上启动多少个worker。
Worker:运行具体处理组件逻辑的进程。Worker运行的任务类型只有两种,一种是Spout任务,一种是Bolt任务。
Task:worker中每一个spout/bolt的线程称为一个task. 在storm0.8之后,task不再与物理线程对应,不同spout/bolt的task可能会共享一个物理线程,该线程称为executor。
Zookeeper:保存任务分配的信息、心跳信息、元数据信息。
相关文章推荐
- Storm核心组件、编程模型
- Storm介绍及核心组件和编程模型
- Storm 编程模型 核心组件 Stream Grouping 数据分组策略
- storm介绍,核心组件,编程模型
- Storm的编程模型与核心组件
- Storm集群组件和编程模型
- Storm集群组件和编程模型
- Storm集群组件和编程模型
- Storm集群组件和编程模型
- Storm集群组件和编程模型
- Storm集成Kafka编程模型
- Java Web编程的主要组件技术——Struts核心组件
- Hadoop编程模型组件--InputFormat
- Java多线程编程核心技术——生产者消费者模型
- Storm集成Kafka编程模型
- 基于visual c++之windows核心编程代码分析(33)实现防火墙模型
- Storm架构和编程模型的总结
- Storm概念学习系列之storm核心组件
- 理解 组件-实体-系统 (ECS \CES)游戏编程模型