storm进行大数据实时分析

storm进行大数据实时分析

ID:38254831

大小:52.16 KB

页数:20页

时间:2019-06-07

storm进行大数据实时分析_第1页
storm进行大数据实时分析_第2页
storm进行大数据实时分析_第3页
storm进行大数据实时分析_第4页
storm进行大数据实时分析_第5页
资源描述:

《storm进行大数据实时分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、使用Storm实现实时大数据分析!发表于2012-12-2416:54

2、 6074次阅读

3、来源Dr.Dobb's

4、 20 条评论

5、作者ShruthiKumar、SiddharthPatankar实时Storm大数据摘要:随着数据体积的越来越大,实时处理成为了许多机构需要面对的首要挑战。ShruthiKumar和SiddharthPatankar在Dr.Dobb’s上结合了汽车超速监视,为我们演示了使用Storm进行实时大数据分析。CSDN在此编译、整理。简单和明了,Storm让大数据分析变得轻松加愉快。当今世界,公司的日常运营经常会生成TB级别的数据。数据

6、来源囊括了互联网装置可以捕获的任何类型数据,网站、社交媒体、交易型商业数据以及其它商业环境中创建的数据。考虑到数据的生成量,实时处理成为了许多机构需要面对的首要挑战。我们经常用的一个非常有效的开源实时计算工具就是Storm ——Twitter开发,通常被比作“实时的Hadoop”。然而Storm远比Hadoop来的简单,因为用它处理大数据不会带来新老技术的交替。ShruthiKumar、SiddharthPatankar共同效力于Infosys,分别从事技术分析和研发工作。本文详述了Storm的使用方法,例子中的项目名称为“超速报警系统(SpeedingA

7、lertSystem)”。我们想实现的功能是:实时分析过往车辆的数据,一旦车辆数据超过预设的临界值——便触发一个trigger并把相关的数据存入数据库。Storm对比Hadoop的批处理,Storm是个实时的、分布式以及具备高容错的计算系统。同Hadoop一样Storm也可以处理大批量的数据,然而Storm在保证高可靠性的前提下还可以让处理进行的更加实时;也就是说,所有的信息都会被处理。Storm同样还具备容错和分布计算这些特性,这就让Storm可以扩展到不同的机器上进行大批量的数据处理。他同样还有以下的这些特性:·易于扩展。对于扩展,你只需要添加机器和改

8、变对应的topology(拓扑)设置。Storm使用HadoopZookeeper进行集群协调,这样可以充分的保证大型集群的良好运行。·每条信息的处理都可以得到保证。·Storm集群管理简易。·Storm的容错机能:一旦topology递交,Storm会一直运行它直到topology被废除或者被关闭。而在执行中出现错误时,也会由Storm重新分配任务。·尽管通常使用Java,Storm中的topology可以用任何语言设计。当然为了更好的理解文章,你首先需要安装和设置Storm。需要通过以下几个简单的步骤:·从Storm官方下载Storm安装文件·将bin

9、/directory解压到你的PATH上,并保证bin/storm脚本是可执行的。Storm组件Storm集群主要由一个主节点和一群工作节点(workernode)组成,通过Zookeeper进行协调。主节点:主节点通常运行一个后台程序——Nimbus,用于响应分布在集群中的节点,分配任务和监测故障。这个很类似于Hadoop中的JobTracker。工作节点:工作节点同样会运行一个后台程序——Supervisor,用于收听工作指派并基于要求运行工作进程。每个工作节点都是topology中一个子集的实现。而Nimbus和Supervisor之间的协调则通过Z

10、ookeeper系统或者集群。ZookeeperZookeeper是完成Supervisor和Nimbus之间协调的服务。而应用程序实现实时的逻辑则被封装进Storm中的“topology”。topology则是一组由Spouts(数据源)和Bolts(数据操作)通过StreamGroupings进行连接的图。下面对出现的术语进行更深刻的解析。Spout:简而言之,Spout从来源处读取数据并放入topology。Spout分成可靠和不可靠两种;当Storm接收失败时,可靠的Spout会对tuple(元组,数据项组成的列表)进行重发;而不可靠的Spout不

11、会考虑接收成功与否只发射一次。而Spout中最主要的方法就是nextTuple(),该方法会发射一个新的tuple到topology,如果没有新tuple发射则会简单的返回。Bolt:Topology中所有的处理都由Bolt完成。Bolt可以完成任何事,比如:连接的过滤、聚合、访问文件/数据库、等等。Bolt从Spout中接收数据并进行处理,如果遇到复杂流的处理也可能将tuple发送给另一个Bolt进行处理。而Bolt中最重要的方法是execute(),以新的tuple作为参数接收。不管是Spout还是Bolt,如果将tuple发射成多个流,这些流都可以通

12、过declareStream()来声明。StreamGroupin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。