论文部分内容阅读
目前国内互联网企业单日日志数据增量达到TB级已很常见,大规模日志数据实时多维统计分析对于企业运行管理决策越来越重要。但目前大规模日志数据实时分析处理技术专业性强,不仅需要熟悉多个庞大和复杂的分布式系统,而且不同用户需要根据不同的需求分别编写程序来进行数据的处理,企业中数据处理需求最为急迫的业务部门和运维部门都难有这样的技术能力。本文针对以上问题,设计和实现了取名为飞流的大规模日志数据实时多维统计分析平台。首先飞流通过整合Flume、Kafka、Storm、HBase多个开源系统设计了一个大规模日志数据实时分析基础平台架构,该架构中Flume负责多个日志源数据的收集和聚合,Kafka承担数据剧增时的缓冲工作和保证数据在传输和分析过程中丢失时的恢复工作,Storm进行实时的分布式计算,HBase存储分析的结果提供结果的实时读写和更广泛的使用。然后设计了多维分析理论在互联网企业大规模日志数据统计分析这个新场景的机制,该机制分为四个阶段:数据源接入、多维数据的提取、多维聚合计算和多维聚合结果持久化,数据源接入负责分布式地从Kafka拉取缓存的日志数据,多维数据的提取负责根据用户任务的配置分布式地从日志数据中提取维度数据和度量数据,多维聚合计算是根据任务的配置分布式地分别对各个任务的子任务进行度量计算,多维聚合结果持久化负责将分析结果存储在分布式数据库中。接着设计了热响应机制,该机制分为任务配置层、配置信息持久化层和分布式计算层三层,任务配置层由前端Web UI实现,配置持久化层由MySQL实现,分布式计算层在Storm topology中实现。最后,通过编写Storm topology程序实现了以上两个机制。最终形成了一个统一的互联网企业大规模日志数据多维统计分析平台。用户使用飞流,不需要大数据编程,仅仅需要在Web UI提交配置就能够热提交、热更新和热删除日志数据的多维统计分析任务,并通过Web UI看到图表形式展示的分析结果。为了验证飞流平台,本文在企业实际生产实践中测试了飞流的多维统计分析功能。又通过模拟的大规模日志数据流测试了飞流在分布式计算阶段,即Storm阶段的吞吐量和延迟两个性能指标。实践和实验表明,飞流平台在互联网企业中应用效果较好,满足了业务部门和运维部门的大部分日志数据实时多维统计分析需求。