- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算
8.4.3 Storm设计思想 Bolts:Storm将Streams的状态转换过程抽象为Bolts。Bolts即可以处理Tuple,也可以将处理后的Tuple作为新的Streams发送给其他Bolts。对Tuple的处理逻辑都被封装在Bolts中,可执行过滤、聚合、查询等操作 稗欲鲍甩兄纤佛遗闲都窄酌佳登福纸蜀亿现荔廖惨酗止信倒擦挑氏视只谊Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算 8.4.3 Storm设计思想 Topology:Storm将Spouts和Bolts组成的网络抽象成Topology,它可以被提交到Storm集群执行。Topology可视为流转换图,图中节点是一个Spout或Bolt,边则表示Bolt订阅了哪个Stream。当Spout或者Bolt发送元组时,它会把元组发送到每个订阅了该Stream的Bolt上进行处理 任侠锥却椿烟惩翘企阮鱼咕蝶旨则辕苫钥臂赫哮蛾霉胁猿砖耍吁雇发痪欢Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算 8.4.3 Storm设计思想 Stream Groupings:Storm中的Stream Groupings用于告知Topology如何在两个组件间(如Spout和Bolt之间,或者不同的Bolt之间)进行Tuple的传送。每一个Spout和Bolt都可以有多个分布式任务,一个任务在什么时候、以什么方式发送Tuple就是由Stream Groupings来决定的 酷央聘砾去柄盘恤堕句屿觅浚持凉和渗漓立蛇悉蜜柞诫始已兆街付酪否昧Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算 8.4.3 Storm设计思想 Stream Groupings示意图:箭头表示Tuple的流向,而圆圈则表示任务 现价并庐点震捡仁思援胯纽穷浅仟明暖讶慑洼雁径晌毫赛阳章闸备倍篮扭Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算 8.4.3 Storm设计思想 目前,Storm中的Stream Groupings有如下几种方式: Shuffle Grouping:随机分组,随机分发Tuple Fields Grouping:按字段分组,具有相同值的Tuple会被分发到对应的Bolt All Grouping:广播分发,每个Tuple都会被分发到所有Bolt中 Global Grouping:全局分组,Tuple只会分发给一个Bolt Non Grouping:不分组,与随机分组效果类似 Direct Grouping:直接分组,由Tuple的生产者来定义接收者 涪集俺喧乒坚拷廓聘擒嘿撞革磕讼拐独佰番角鄂洁焙儒养拾索馅鲍毡猩骇Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算 8.4.4 Storm框架设计 Storm运行任务的方式与Hadoop类似:Hadoop运行的是MapReduce作业,而Storm运行的是“Topology” 但两者的任务大不相同,主要的不同是:MapReduce作业最终会完成计算并结束运行,而Topology将持续处理消息(直到人为终止) Storm集群采用“Master—Worker”的节点方式: Master节点运行名为“Nimbus”的后台程序(类似Hadoop中的“JobTracker”),负责在集群范围内分发代码、为Worker分配任务和监测故障 Worker节点运行名为“Supervisor”的后台程序,负责监听分配给它所在机器的工作,即根据Nimbus分配的任务来决定启动或停止Worker进程 辫摩混允员侣唤儿皋盆效臃徘千动儒晒珊椭粒岸剐律芥帧织有果雍捏格鸿Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算Chaptr8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算 Storm使用Zookeeper来作为分布式协调组件,负责Nimbus和多个Supervisor之间的所有协调工作。借助于Zookeeper,若Nimbus进程或Supervisor进程意外终止,重启时也能读取、恢复之前的状态并继续工作,使得Storm极其稳定 8.4.4 Storm框架设计 Storm集群架构示意图 棋廷属份秆拓衙犀拆窗匪椰班客仓携治斟丝厂锌彰无笛门心酮片淤作匿禽Chaptr8-厦门大学-林子雨-大
文档评论(0)