大型分布式网站架构设计与实践5

不打扰是莪最后的温柔 提交于 2020-03-28 17:42:30

 

第5章 数据分析

5.1 日志收集

5.1.1 inotify机制

通过inotify机制,能够对文件系统的变化进行监控,如对文件进行删除,修改等操作,可以及时通知应用程序进行相关事件的处理。

5.1.2 ActiveMQ-CPP

C++接口的消息订阅系统

5.1.3 架构和存储

数据需要经过inotify客户端,经由ActiveMQ进行转发,通过storm进行实时处理,再存储到Mysql、HDFS、Hbase或者Memcache这些存储系统当中,最后再进行深度分析或者实时的展现

5.1.4 Chukwa

5.2 离线数据分析

5.2.1 Hadoop项目简介

Hadoop:HDFS,MapReduce,Zookeeper、Hbase、Hive、Pig、Mahout

5.2.2 Hadoop环境搭建

5.2.3 MapReduce编写

5.2.4 Hive的使用

5.3 流式数据分析

5.3.1 Storm的介绍

1、Storm是一个开源的分布式实时计算系统,可以简单,可靠地对大量的流式数据进行分析。
2、通过zeroMQ作为底层的消息队列,可以保证消息能得到很快的处理

5.3.2 安装部署storm

5.3.3 storm的使用

5.4 数据同步

在线的OLTP 或 日志系统-----OLAP系统----->多维度复杂的数据分析和汇总操作

5.4.1 离线数据同步

1、sqoop是apache下的一个开源数据同步工具,支持关系型数据到hadoop的数据导入和导出功能,既能够通过sqoop将关系型数据库中的HDFS,也能够通过Sqoop从HDFS中将数据同步回关系型数据库。Sqoop使用MapReduce来执行数据导入和导出任务,提升了操作的并行效率和容错能力。
2、淘宝的一个目前已经开源的数据同步工具DataX

5.4.2 实时数据同步

1、ActiveMQ
2、Mysql的Master与Slave之间的Binary Log

5.5 数据报表

表格图表形式来显示数据

5.5.1 数据报表能提供什么

页面访问量,独立用户访问量,请求来源,区域分布,访问路径,搜索关键字,页面元素点击分布、交易下单金额等信息十分关键,数据报表能作为以上数据的载体

5.5.2 HighCharts

流行美观功能丰富的JavaScript图表库

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!