Storm知识点学习【DOC精选】.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Storm知识点学习【DOC精选】

Storm知识 第一节 Storm介绍........................... 2 概念 2 原理 2 Storm的主要特点 2 主要名词解释 3 Storm配置 4 操作模式 5 1、本地模式 5 2、远程模式 5 Stream grouping分类 6 第二节 Spout知识 6 Spout方法说明 6 第三节 Bolt知识 8 Bolt组件介绍 8 Bolt方法说明 8 Bolt开发技巧 9 1、锚定(译者注:原文为Anchoring) 9 2、多数据流 9 3、多锚定 9 4、使用IBasicBolt自动确认 10 5、IBasicBolt与IRichBolt比较 10 第四节 数据分流与合并 10 1、分流 11 A、发送相同tuple 11 B、发送不同的tuple 11 2、 数据流合并 13 第五节ACK机制 14 1、应用场景 14 2、ACK机制 14 3、ACK机制的使用 14 4、ACK的原理 15 第六节 Storm开发注意事项 15 第七节 Storm的应用场景 15 1、流聚合 15 第八节 Storm集群组件 16 主控节点(Master Node) 16 工作节点(Work Node) 16 第九节 如何向集群提交任务 16 第十节 常见问题以及解决方式 17 第十一节 其他相关知识 17 什么是 “大数据”? 17 第一节 Storm介绍 概念 Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架是一个分布式的,可靠的,容错的数据流处理系统。它会把工作任务委托给不同类型的组件,每个组件负责处理一项简单特定的任务。Storm集群的输入流由一个被称作spout的组件管理,spout把数据传递给bolt, bolt要么把数据保存到某种存储器,要么把数据传递给其它的bolt。 角色 Nimbus: 资源调度角色 Supervisor: 接受nimubs 任务安排,启动任务 Worker: 进程 Executor: 执行线程 Task: 执行逻辑单元 Storm的主要特点   简单的编程模型。类似于MapReduce降低了并行批处理复杂性,Storm降低了进行实时处理的复杂性。   可以使用各种编程语言。你可以在Storm之上使用各种编程语言。默认支持Clojure、Java、Ruby和Python。要增加对其他语言的支持,只需实现一个简单的Storm通信协议即可。   容错性。Storm会管理工作进程和节点的故障。   水平扩展。计算是在多个线程、进程和服务器之间并行进行的。   可靠的消息处理。Storm保证每个消息至少能得到一次完整处理。任务失败时,它会负责从消息源重试消息。   快速。系统的设计保证了消息能得到快速的处理,使用?MQ作为其底层消息队列。   本地模式。Storm有一个“本地模式”,可以在处理过程中完全模拟Storm集群。这让你可以快速进行开发和单元测试。 主节点的守护进程,它的作用有: 整个topology的发起者,会把topology的jar包缓存到本地 在提交topology时,分配资源 在topology运行时,监听所有worker的心跳 当某worker挂掉或收到重新分配请求时,重新分配资源 注意: 当一个topology被正常分配、启动后,nimbus只会监控supervisor的状态,为重新分配资源做准备。并不会做Stream中tuple分配到某节点这种事。所以,如果nimbus在topology正常运行时挂掉,是不会影响该topology的正常运行的。它影响的是重新分配cluster资源。 真正的工作节点。在其内部运行的可能是一个spout、亦可能是一个bolt。 每一个supervisor会定义若干worker,每一个worker其实是一个独立的JVM进程,具有不同的端口号 每一个worker内会维护一个线程池,每一个线程,在Storm中称为executor 并行中的每一个spout、bolt对于supervisor中的worker来说是平等的,被认为是一个task。该task的执行会被worker分配到其内部线程池中的某一个或多个线程,即某一个或多个executor去执行executor的数量=spout数+bolt数+acker数 = task总数。默认情况下是取=将Spout、Bolt整合起来的拓扑图。定义了Spout和Bolt的结合关系、并发数量、配置等等一个worker表示一个进程,一个task表示一个线程, 一个worker可以运行多个task。 pout :在一个topology中产生源数据流的组件,读取原始数据为bolt提供数据 6、Bolt 从spout或其它bolt接收数据,并处理数据,处理结果可作

文档评论(0)

taotao0b + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档