大数据 - 统计分析平台架构介绍

项目简介

       项目的主要功能是在互联网环境中对多个系统产生的日志进行收集,将各系统的日志格式进行统一后存储到特定平台目录下面。使用Azkaban任务调度系统中配置Job,对平台上的数据进行ETL操作和分析。将最终产生的结果数据存储到Mysql,redis或elastics中,用作报表展示或者App特定功能的数据来源。

项目中的任务

       一、离线任务,它做的工作主要有,日志文件的预处理,ETL,业务报表等。
       二、实时任务,它的主要功能是在客户端用户流量了某个页面,下了一个订单时,实时作出分析。
       三、是机器学习模块,提供智能精准推送服务。

架构工作流程

大数据 - 统计分析平台架构介绍_第1张图片
       1、埋点Java、php、nginx等服务生成相应的日志记录。
       2、通过flume集群收集日志记录并发送给kafka。
       3、实时计算通过读取kafka,通过Spark streaming解析处理,以脚本形式启动。
       4、历史数据存入HDFS集群,批处理计算通过Azkaban调度。

架构组件

       File System (HDFS):分布式文件系统,目前所有收集到的日志都存储在HDFS上,按项目和天来存储。
       Resource Manager(YARN):分布式资源管理系统,即掌管计算机集群中所有机器资源分配的系统。Spark的job在做运算的时候就需要先向它申请cpu,内存等资源,在得到所需的资源后开始运行。
       Spark: 一个快速和通用的计算集群系统,利用这个框架计算分析任务。
       SQL、Streaming、MLlib: 为Spark提供的一组丰富的higher-level工具,适用于不同的应用场景。
       Centralized Service(Zookeeper):集中服务,一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露通用服务,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。
       Scheduler(Azkaban): 任务调度工具,所有跑在平台上的job都通过它来调度。
       Monitor Service(Ganlia): 监控系统,用以监控集群的运行,健康状况等。
       Service APi: 最后就是服务提供接口了,向外提供服务。

业务功能

       日志查询、着陆页流量、流量转化、关键字分析、访客分析、活跃用户分析、订单分析等。
       代码、功能截图就不发了,属于商业机密。

你可能感兴趣的:(大数据)