Storm的编程模型与核心组件
来源:互联网 发布:拿破仑全面战争mac 编辑:程序博客网 时间:2024/04/24 13:11
- Storm的编程模型:
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核心组件、编程模型
- Storm 编程模型 核心组件 Stream Grouping 数据分组策略
- Storm集群组件和编程模型
- Storm集群组件和编程模型
- Storm集群组件和编程模型
- Storm集群组件和编程模型
- Storm架构与编程模型分析
- Storm架构和编程模型的总结
- Android的组件编程模型
- Storm 流计算编程模型
- Storm集成Kafka编程模型
- Storm集成Kafka编程模型
- J2EE的核心API与组件
- J2EE的核心API与组件
- J2EE的核心AOI与组件
- J2EE的核心API与组件
- 约瑟夫环(循环链表实现)
- 使用VAssistX添加C++函数头注释
- crossdomain.xml的配置详解
- Android进阶——Crash异常捕获并发送到服务器
- Hibernate不能自动建数据表解决办法
- Storm的编程模型与核心组件
- 浏览器discuz论坛搜索卡死解决
- sourceinsight - 完美支持中文注释
- c uintptr_t
- 学习小记 -Flask Web (e) Bug/Errors 修复记录
- Hibernate中利用注解的映射关系
- 程序员怎样选择行业
- 优秀的架构师需要那些专业和软技能?
- js字符串转换成数字与数字转换成字符串的实现方法