Storm框架分享.pptxVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Storm框架分享

Storm框架分享 luoyongjian 2019-4-29 目录 6、拓扑结构 7、消息确认机制 4、集群角色 1、Storm是什么 3、基本概念 2、Storm与Hadoop区别 5、Storm中进程和线程关系 8、线上任务 9、QA Storm是什么 1 Storm是一个分布式实时计算系统,最早是由Twitter开发,2011年开始在GitHub上开源和托管,目前已经走过了3个年头。现在已经是Apache生态系统中的一员,逐渐成为业内实时处理框架的标准。 特点 简单编程:提供基本原语,如tuple,spout,bolt等 多语言支持:提供多语言支持,可以用java开发框架,用其他语言开发逻辑 水平扩展:同Hadoop一样,支持集群的水平扩容 容错性强:如果在消息处理过程中出现异常,Storm会重新处理这个出问题 的处理单元 可靠消息保证:ack消息机制,保证每个tuple至少完整处理一次 快速消息处理:消息缓存队列,保证消息能够被及时处理 本地调试模式:使调试更加的方便 Storm与Hadoop区别 2 一个是实时的分布式处理框架,一个是批处理的分布式处理框架 数据来源:HADOOP是HDFS上某个文件夹下的可能是成TB的数据, STORM是实时新增的某一笔数据 区别 处理过程:HADOOP是分MAP阶段到REDUCE阶段,STORM是由用户定义 处理流程,流程中可以包含多个步骤,每个步骤可以是数据源 (SPOUT)或处理逻辑(BOLT) 是否结束:HADOOP最后是要结束的,STORM是没有结束状态,到最后一 步时,就停在那,直到有新数据进入时再从头开始 处理速度:HADOOP是以处理HDFS上大量数据为目的,速度慢,STORM 是只要处理新增的某一笔数据即可可以做到很快 适用场景:HADOOP是在要处理一批数据时用的,不讲究时效性,要处理就 提交一个JOB,STORM是要处理某一新增数据时用的,要讲时效 性 消息队列:HADOOP没有消息队列,STORM将消息队列作为消息源与输入 源之间的缓冲 基本概念 3 Topology:storm中运行的一个实时应用程序,因为各个组件间的消息流动形 成逻辑上的一个拓扑结构 Spout: 在 一个topology中产生源数据流的组件。通常情况下spout会从外部 数据源中读取数据,然后转换为topology内部的源数据。Spout是一 个 主动的角色,其接口中有个nextTuple()函数,storm框架会不停地 调用此函数,用户只要在其中生成源数据即可 Bolt: 在一个topology中接受数据然后执行处理的组件。Bolt可以执行过滤、 函数操作、合并、写数据库等任何操作。Bolt是一个被动的角色,其 接口中 有个execute(Tuple input)函数,在接受到消息后会调用此函数, 用户可以在其中执行自己想要的操作 Tuple: 一次消息传递的基本单元。本来应该是一个key-value的map,但是由 于各个组件间传递的tuple的字段名称已经事先定义好,所以tuple中只 要按序填入各个value就行了,所以就是一个value list Stream:源源不断传递的tuple就组成了stream Storm集群角色 4 集群角色 Nimbus:负责资源分配和任务调度。 Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。 Worker:运行具体处理组件逻辑的进程。 Task:worker中每一个spout/bolt的线程称为一个task. 在storm0.8之后,task不再 与物理线程对应,同一个spout/bolt的task可能会共享一个物理线程,该线程 称为executor。 Storm集群角色 4 Storm中进程和线程关系 5 Worker :被Supervisor守护进程创建的用来干活的进程。每个Worker对应于一 个给定topology的全部执行任务的一个子集。反过来说,一个Worker 里面不会运行属于不同的topology的执行任务 Executor:可以理解成一个Worker进程中的工作线程。一个Executor中只能运行 隶属于同一个component(spout/bolt)的task。一个Worker进程中 可以有一个或多个Executor线程。在默

文档评论(0)

189****6821 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档