欢迎来到天天文库
浏览记录
ID:48058880
大小:736.05 KB
页数:29页
时间:2020-01-13
《Storm及交通实时数据处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、绪论知识Storm架构一个简单的Storm例子Storm在交通数据处理中的应用目录Storm及交通实时数据处理背景:大数据的产生GBTBPBEBZB数据量的增长:在2006年,个人用户才刚刚迈进TB时代,全球一共新产生了约180EB的数据;在2011年,这个数字达到了1.8ZB。有市场研究机构预测(2009年):到2020年,整个世界的数据总量将会增长44倍,达到35.2ZB(1ZB=10亿TB)!1GB=2^30字节1TB=2^40字节1PB=2^50字节1EB=2^60字节1ZB=2^70字节背景:大数据处理模式主要的处理模式可以分为流处理(streamprocessing)
2、和批处理(batchprocessing)两种。批处理是先存储后处理(store-process),而流处理则是直接处理(straight-throughprocess)。(有时也分为在线、离线、近线三种)batchprocessingstreamprocessing背景:多种数据处理技术的出现过去的十年是数据处理变革的十年,MapReduce、Hadoop以及一些相关的技术使得我们能处理的数据量比以前要大得多得多。但是这些数据处理技术都不是实时的系统—它们设计的目的也不是为了实时计算。然而大规模的实时数据处理已经越来越成为一种业务需求了,而缺少一个“实时版本的hadoop”已经
3、成为数据处理整个生态系统的一个巨大缺失。Storm填补了这个缺失。Storm出现之前,需要自己手动维护一个由消息队列(Queues)和消息处理者(Workers)所组成的实时处理网络,消息处理者从消息队列取出一个消息进行处理,更新数据库,发送消息给其它队列进行进一步处理,但是这种计算方式的局限性太大:复杂、不健壮且扩展性差。大数据实时流计算系统(一)Yahoo的S4S4是一个通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统,Yahoo!开发S4系统,主要是为了解决:搜索广告的展现、处理用户的点击反馈。在流式处理领域里,Storm的直接对手是S4。不过,S4冷淡的社区、半成
4、品的代码,在实际商用方面输给Storm不止一条街。大数据实时流计算系统(二)Facebook的PumaFacebook使用puma和Hbase相结合来处理实时数据,使批处理计算平台具备一定实时计算能力。不过这不算是一个开源的产品。只是内部使用。相关论文:ApacheHadoopGoesRealtimeatFacebook。WhyStorm?Storm:“Hadoopofrealtime”、Distributedandfault-tolerantrealtimecomputationStorm定义了一批实时计算的原语。如同hadoop大大简化了并行批量数据处理,storm的这些原语
5、大大简化了并行实时数据处理。storm的一些关键特性如下:分布式系统/运维简单/高度容错/无数据丢失/支持多种编程语言……Storm发展现状最新版本:0.9.1在GitHub上超过4000个项目负责人,全球共有29名代码贡献者。(12年)很多公司在使用Storm,这些公司中不乏淘宝,百度,Twitter,Groupon,雅虎等重量级公司。绪论知识Storm架构一个简单的Storm例子Storm在交通数据处理中的应用目录Storm集群:物理的Storm集群主要由一个主节点(masternode)和一群工作节点(workernodes)组成,通过Zookeeper集群进行协调。主节点
6、通常运行一个后台程序——Nimbus,用于响应分布在集群中的节点,分配任务和监测故障。工作节点同样会运行一个后台程序——Supervisor,用于收听工作指派并基于要求运行工作进程。每个工作节点都是topology中一个子集的实现。Storm集群masterTopology:逻辑的在Storm中,应用程序实现实时处理的逻辑被封装进Storm中的topology中。一个topology是由一组Spout组件(数据源)和Bolt组件(数据操作)通过StreamGroupings进行连接的图。Topology:逻辑的Spout:在一个topology中产生源数据流的组件,从来源处读取数
7、据并放入topology。Bolt:在一个topology中接受数据然后执行处理的组件。Topology:逻辑的流(Stream)Stream是Storm中的一个核心概念,Storm将输入的数据看成流,它是以tuple为单位组成的一条有向无界的数据流。tupletupletupletupletuple…tupleTopology:逻辑的StreamGroupings:消息的分组方法。Storm提供了六种分组方法:1.随机分组(Shufflegrouping):随机分发tuple到
此文档下载收益归作者所有