天天看点

Lamda架构-分析日志流水线Lamda架构

Lamda架构

前言:日志分析中既有离线大规模需求,也有实时性需求,因此需要采用Lamda架构(目的是为大数据分析应用程序提供一个低响应延迟的组合数据环境)构建日志分析流水线。

Lamda组成部分

  1. 批处理层

    通过hadoop,spark等作为批处理层的处理工具,HDFS,HBase等作为数据持久化系统。

  2. 服务层

    用于加载和实现数据库中的批处理视图,便于用户查询。不一定需要随机写,但是需要支持批更新和随机读。采用如ElephantDB,Voldemort

  3. 快速处理层

    主要处理实时和服务层更新造成的高延迟补偿,利用流处理系统(如Storm,S4,SparkStreaming)和随机读写数据存储库来实现实时视图(HBase)

Lamda架构-分析日志流水线Lamda架构

Lamda数据分析架构

Lamda架构-分析日志流水线Lamda架构

日志分析流水线整理架构

实时日志分析流水线步骤:

  1. 数据采集 采用Flume NG进行数据采集
  2. 数据汇总和转发 Flume将数据转发汇总到实时消息系统kafka
  3. 数据处理 SparkSteaming进行实时数据处理
  4. 结果呈现 采用Flask作为可视化呈现工具

离线日志分析流水步骤:

  1. 数据存储 通过Flume将数据转储至HDFS
  2. 数据处理 通过SparkSQL进行数据预处理
  3. 结果呈现 结果汇总存储到mysql最后通过Flask,tableau进行结果呈现

继续阅读