日志综合管理平台基于storm框架的实现

日志综合管理平台基于storm框架的实现

ID:10640336

大小:52.50 KB

页数:3页

时间:2018-07-07

日志综合管理平台基于storm框架的实现_第1页
日志综合管理平台基于storm框架的实现_第2页
日志综合管理平台基于storm框架的实现_第3页
资源描述:

《日志综合管理平台基于storm框架的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、日志综合管理平台基于Storm框架的实现【摘要】日志对于每个系统来说都是不可或缺的一部分,而现阶段对日志的处理效率却不尽如人意。实时性日志考验的是大数据处理框架的实时计算能力,基于Storm并借助开源框架Kafka,设计了一个实时数据收集与处理的系统,将数据转为流的形式,对收集来的数据直接在内存以流的形式进行计算,输出有价值的信息保存到Redis。最后对系统进行性能测试以及计算能力的测试。实验结果表明,该系统可扩展性良好,且并行计算能力稳定,适合大量实时数据处理。中国1/vie  【关键字】StormKafkaRedis  一、引言  大数据时代,与互联网行业息

2、息相关的诸多领域中用户数量和其产生的数据在不断地累加,为之提供支撑的服务器端存放的日志信息量也随之剧增,如何准确及时的筛选海量日志中的关键信息成为了亟待解决的问题。众所周知,Hadoop架构可以使用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储,但是对于实时性极强的流式数据,显然流处理框架Strom更适合,并且处理效率客观。  二、Storm计算框架  Storm是由BackType开发并被T的逻辑单元,一个实时的应用打包为拓扑后发送,拓扑是由Spout和Bolt组成,其二者的关系如图1所示。Spout节点从数据源中源

3、源不断的消费数据并把数据发送到后面的Bolt节点,而Topology是将Spout和Bolt组合在一起完成一项具体的计算任务。Topology一旦提交就会一直执行。  Storm主从架构图包含一个主节点Nimbus和多个从节点Supervisor,Zookeeper完成两者之间的协调。每个的实现方案  3.1开发环境及采用的测试数据集  硬件环境包括Storm集群,Kakfa集群,Zookeeper集群,Storm包括1个Nimbus和4个Supervisor;Kafka集群包括5个节点;Zookeeper集群也包括5个节点,集体配置如表1所示。  软件环境:j

4、dk-1.7.0_79、logstash-2.3.4、elasticsearch-2.3.4、storm-0.9.5、kafka_2.9.1-0.8.2.0  zookeeper-3.3.5、python-2.7.12。  操作系统:Linuxversion3.10.0-327.el7.x86_64  数据集:用户话单日志信息(约2billon/day)。  3.2平台架构及处理流程  日志综合处理平台主要由三层组成,包括:数据采集层、数据分析及存储层以及数据展示层。可以实现对日志从采集到分析处理的全过程并在页面监控平台显示。  本实验方案使用Kafka为消息中

5、间件传递消息。Kafka是一种高吞吐量的分布式发布订阅消息系统,其依赖Zookeeper保存每组消费者消费的相应Topic的偏移量。  SpoutA接收待初始化的数据,并将其发K-means&DBSCANBolt通过数据簇形态识别以初始化微簇;SpoutB从Kafka中接收初始化后待处理的流数据,将其发送至LocalBolt进行局部微聚类;SpoutC用作处理时间戳,每单位时间向LocalBolt发送一次信息,当接收到时间戳消息,将局部微聚类更新结果存放到Redis做实时局部微聚类更新结果的保存,并合并原有的增量信息发送到GlobalBolt;SpoutD通过消

6、息中间件Kafka接收用户发送的查询参数。  K-means&DBSCANBolt接收SpoutA传输的待初始化数据与聚类参数k(簇数),进行标准k-means聚类或者DBSCAN聚类,聚类的结果以微簇形式发送至LocalBolt随后根据时间戳信息保存结果到Redis,并由滑动窗口触发机制合并局部微簇到全局微簇GlobalBolt。RL-DSCA算法的微簇在线维护微簇进行的在线增量更新是由LocalBolt来实现的,体现了RL-DSCA算法分布式数据的处理,到达的待处理流数据将会分配到各个LocalBolt节点,这些节点具体的功能均不相同,LocalBolt各节

7、点处理流程如图2所示。主要�理Bolt的实现功能如下。  extractBolt:该Bolt主要实现从初始化后的数据流中筛选目标信息,并将筛选出来的数据发送到下一个处理bolt。  judgeSysTimeBolt:该Bolt用来判断系统时间和时间戳的关系检测拓扑停止工作的异常情况,如出现拓扑异常,系统时间>时间戳时间,对时间戳补齐并进行更新(updateTimestampBolt)结果存放到Redis。  judgeLogTimeBolt:改Bolt主要是判断来的日志是实时日志还是历史日志,如果日志时间在时间戳范围内即为实时日志,否则按照历史日志来处理。  s

8、endAndUpdate

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

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

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