- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
11.4.3 Storm设计思想 Topology:Storm将Spouts和Bolts组成的网络抽象成Topology,它可以被提交到Storm集群执行。Topology可视为流转换图,图中节点是一个Spout或Bolt,边则表示Bolt订阅了哪个Stream。当Spout或者Bolt发送元组时,它会把元组发送到每个订阅了该Stream的Bolt上进行处理 Topology里面的每个处理组件(Spout或Bolt)都包含处理逻辑, 而组件之间的连接则表示数据流动的方向 Topology里面的每一个组件都是并行运行的 在Topology里面可以指定每个组件的并行度, Storm会在集群里面分配那么多的线程来同时计算 在Topology的具体实现上,Storm中的Topology定义仅仅是一些Thrift结构体(二进制高性能的通信中间件),支持各种编程语言进行定义 Spout Spout Bolt Bolt Bolt Bolt Bolt 11.4.3 Storm设计思想 Stream Groupings:Storm中的Stream Groupings用于告知Topology如何在两个组件间(如Spout和Bolt之间,或者不同的Bolt之间)进行Tuple的传送。每一个Spout和Bolt都可以有多个分布式任务,一个任务在什么时候、以什么方式发送Tuple就是由Stream Groupings来决定的 11.4.3 Storm设计思想 目前,Storm中的Stream Groupings有如下几种方式: (1)ShuffleGrouping:随机分组,随机分发Stream中的Tuple,保证每个Bolt的Task接收Tuple数量大致一致 (2)FieldsGrouping:按照字段分组,保证相同字段的Tuple分配到同一个Task中 (3)AllGrouping:广播发送,每一个Task都会收到所有的Tuple (4)GlobalGrouping:全局分组,所有的Tuple都发送到同一个Task中 (5)NonGrouping:不分组,和ShuffleGrouping类似,当前Task的执行会和它的被订阅者在同一个线程中执行 (6)DirectGrouping:直接分组,直接指定由某个Task来执行Tuple的处理 11.4.4 Storm框架设计 Hadoop Storm 应用名称 Job Topology 系统角色 JobTracker Nimbus TaskTracker Supervisor 组件接口 Map/Reduce Spout/Bolt Storm和Hadoop架构组件功能对应关系 Storm运行任务的方式与Hadoop类似:Hadoop运行的是MapReduce作业,而Storm运行的是“Topology” 但两者的任务大不相同,主要的不同是:MapReduce作业最终会完成计算并结束运行,而Topology将持续处理消息(直到人为终止) 11.4.4 Storm框架设计 Storm集群采用“Master—Worker”的节点方式: Master节点运行名为“Nimbus”的后台程序(类似Hadoop中的“JobTracker”),负责在集群范围内分发代码、为Worker分配任务和监测故障 Worker节点运行名为“Supervisor”的后台程序,负责监听分配给它所在机器的工作,即根据Nimbus分配的任务来决定启动或停止Worker进程,一个Worker节点上同时运行若干个Worker进程 Storm使用Zookeeper来作为分布式协调组件,负责Nimbus和多个Supervisor之间的所有协调工作。借助于Zookeeper,若Nimbus进程或Supervisor进程意外终止,重启时也能读取、恢复之前的状态并继续工作,使得Storm极其稳定 11.4.4 Storm框架设计 Storm集群架构示意图 Worker进程 Worker进程 Worker进程 …… 11.4.4 Storm框架设计 (1)worker:每个worker进程都属于一个特定的Topology,每个Supervisor节点的worker可以有多个,每个worker对Topology中的每个组件(Spout或 Bolt)运行一个或者多个executor线程来提供task的运行服务 (2)executor:executor是产生于worker进程内部的线程,会执行同一个组件的一个或者多个task。 (3)task:实际的数据处理由task完成,在Topology的生命周期中,每个组件的task数目是不会发生变化的,而executor的数目却不一定。executor数目小于等于task的数目,默认情况下,二者是相等的 Worke
您可能关注的文档
- 反诈骗辅导PPT贷款、代办信用卡类诈骗.pptx
- 反诈骗辅导PPT冒充公检法诈骗.ppt
- 反诈骗辅导PPT网络裸聊敲诈.pptx
- 反诈骗辅导PPT虚假购物、服务类诈骗.pptx
- 反诈骗辅导PPT虚假平台投资诈骗.pptx
- 西安电子科技大学《混沌与非线性科学》课件矢量分析与场论部分第二讲 矢量分析.pdf
- 西安电子科技大学《混沌与非线性科学》课件矢量分析与场论部分第三讲 场.pdf
- 西安电子科技大学《混沌与非线性科学》课件矢量分析与场论部分第四讲 梯度.pdf
- 西安电子科技大学《混沌与非线性科学》课件矢量分析与场论部分第六讲 旋度.pdf
- 西安电子科技大学《混沌与非线性科学》课件矢量分析与场论部分第八讲 小结.pdf
- Chapter12-厦门大学-林子雨-大数据技术原理与应用(第3版)-第12章-Flink(2020年12月版本).ppt
- Chapter15-厦门大学-林子雨-大数据技术原理与应用(第3版)-第15章-大数据在不同领域的应用(2020年12月版本).ppt
- 讨论课1:人工智能对人类社会发展的影响.docx
- 讨论课2:大学生如何用大数据思维指导自己的实践.docx
- 讨论课3:数据共享和数据开放如何改变世界.docx
- 讨论课4:如何实现大数据与本专业的结合.docx
- Chapter0-厦门大学-林子雨-大数据导论(通识课版)-第0章-课程介绍(2020年秋季学期).ppt
- Chapter11-厦门大学-林子雨-大数据导论(通识课版)-第11章-大数据治理(2020年秋季学期).ppt
- Chapter3-厦门大学-林子雨-大数据导论(通识课版)-第3章-大数据技术(2020年秋季学期).ppt
- Chapter1-厦门大学-林子雨-Flink编程基础Scala版-第1章-大数据技术概述(2021年3月版本).pdf
文档评论(0)