第8章-Storm—基于拓扑的流数据实时计算系统.ppt

第8章-Storm—基于拓扑的流数据实时计算系统.ppt

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

云计算与大数据技术 目 录 第1章  云计算与大数据基础 第2章  云计算与大数据的相关技术 第3章  虚拟化技术 第4章  集群系统基础 第5章  MPI—面向计算 第6章  Hadoop—分布式大数据系统 第7章  HPCC—面向数据的高性能计算集群系统 第8章  Storm—基于拓扑的流数据实时计算系统 第9章  服务器与数据中心 第10章 云计算大数据仿真技术 第8章  Storm—基于拓扑的流数据 实时计算系统 《云计算与大数据技术》 第8章  Storm—基于拓扑的流数据实时计算系统 8.1 Storm简介 8.2 Storm原理及其体系结构 8.2.1 Storm编程模型原理 8.2.2 Storm体系结构 8.3 搭建Storm开发环境 8.3.1 Storm的安装步骤 8.3.2 Storm 的设置 8.3.3 Storm 的启动 8.4 Storm使用实例 8.4.1 使用Maven管理storm-starter 8.4.2 WordCountTopology实例分析 8.1 Storm简介 BackType公司(后被Twitter收购)前工程师Nathan Marz,在使用Hadoop过程中,因为不满意Hadoop系统的扩展性和其代码的繁琐性,以及其粗糙的容错处理机制,提出了一种支持实时流处理、扩展机制简单的编程模型Topology,取名为Storm。 Storm于2011年9月19号正式开源,实现Storm的语言为一种运行于Java平台的LISP方言—Clojure。 Storm是很有潜力的流处理系统,出现不久,就在淘宝、百度、支付宝、Groupon、Facebook、Twitter等平台上得到使用。第三方支付平台支付宝使用Storm来计算实时交易量、交易排行榜、用户注册量等,每天处理的信息超过1亿条,处理的日志文件超过6TB;团购网站Groupon使用Storm对对实时数据进行快速数据清洗、格式转换、数据分析;Twitter使用它来处理tweet(用户发送到Twitter上的信息)。 8.1 Storm简介 Storm的Topology编程模型简单,在实际任务处理时却很实用。Topology,实际上就是任务的逻辑规划,包含Spout和Bolt两类组件,Spout组件负责读取数据,Bolt组件负责任务处理。 与MapReduce相比,它的任务粒度相对灵活,不只局限于Mapreduce中的Map()和Reduce()函数,用户可以根据任务需求编写自己的函数。 同时,它不存储中间数据,组件与组件之间的数据传递通过消息传递的方式,对于很多不需要存储中间数据的应用来说,Topology编程模型降低了处理过程的繁琐与延迟。 8.1 Storm简介 (1)Storm具有很好的容错性、扩展性、可靠性和健壮性。 Storm使用Zookeeper(Hadoop中的一个正式子项目,后被广泛使用的一种分布式协调工具)作为集群协调工具,当发现正在运行的Topology出错的时候,Zookeeper就会告诉Nimbus(Storm系统的主进程,负责分发任务等操作),然后Nimbus就重新分配并启动任务。 在Storm中,Topology被提交后,在没有被手动杀死之前,它都将一直处于运行状态。这些措施都是为了保证该系统的容错性。Storm采用三进程架构—Nimbus、Supervisor、Zookeeper,无论是集群还是单机都只有这三个进程。当需要在集群中新加入节点的时候,只需要修改配置文件和运行Supervisor和Zookeeper进程即可,扩展起来十分方便。 另外,Storm采用消息传递方式进行数据运算,数据传输的可靠性至关重要。Storm系统中传递的消息,主节点都会根据消息的产生到结束生成一棵消息树。所以,消息从诞生到消亡的整个过程,它都会被跟踪。如果主节点发现某消息丢失,那么它就会重新处理该消息。正是因为有了容错性、可靠性的保障,该系统运行中体现出健壮性,不会出现轻易宕机、崩溃的现象。 8.1 Storm简介 (2)Storm并行机制灵活。 各个组件的并行数由用户根据任务的繁重程度自行设定,如果该组件处理的任务复杂度高,耗费时间多,那么并行数目的设置就偏大些,相反地,并行数目的设置则偏小些。这样,拓扑中的每个组件就能很好地配合,最大化地利用集群性能,提高任务处理效率。 (3)Storm支持多种语言。 Storm内部实现语言是Clojure,基于Storm开发的应用却可以使用几乎任何一种语言,而所需的只是连接到Storm的适配器。Storm默认支持Clojure、Java、Ruby和Python,并已经存在针对 Scala、JRuby、Perl 和 PHP 的适配器。更多的适配器将会

文档评论(0)

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

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

1亿VIP精品文档

相关文档