Hadoop离线数据分析平台实战——520项目总结
到这里本次项目也就介绍完了,不过在项目最后简单的介绍一些数字以及项目优化、扩展等情况
通过本次课程的学习,希望同学们对离线数据分析这一块有一个初步的了解,
希望同学们在学习完本课程后,对如何在工作中使用离线数据分析有一个初步的了解。
在本次课程中,我主要目标是放到了如何产生用户浏览数据以及如何解析数据,
对应解析后的数据结果展示,讲解的不是特别的详细,
所以希望同学们在学习之余,自己想想如何能够更好的显示解析后的数据,
最后祝同学们能够有一个好的开始。
实际工作中常见的数字:
如果只有launch和pageview事件,一千万的数据一般文件大小为7G左右。
单台的Nginx+Flume基本可以支持数据的传输操作,
但是最好使用两台机器做负载均衡/容错机制。
如果IP解析采用我们项目中介绍的这种,在集群规模为3+8(3台机器为NN+RM, 8台机器为DN+NM)的情况下,所有的mr和hive程序运行时间在一个小时以内。
优化:
MR程序:
进行hadoop、hbase等参数调优,使用多个reducer等。
Hive程序:
指定使用多个reducer、设置hive执行mr时候的内存参数、调整HQL语句结构等
数据展示:
对应api的产生可以通过添加cache的方式减少查询数据的次数等。
扩展:
数据收集
可以通过Nginx的负载均衡机制动态的根据项目的需要添加Nginx+Flume的数据传输机器,
需要注意的是在采用负载均衡的时候,flume配置中最后在文件产生格式中添加一个编号来分别表示不同的机器产生的日志记录。
数据解析:
利用hadoop的本身优势,可以动态的添加datanode节点,增大数据的执行能力。
数据展示:
可以利用Nginx的负载均衡机制,在nginx服务器之后提供多台tomcat的服务器来提供实际应用。
(和其他的java web程序类似)