Open rainit2006 opened 7 years ago
应用案例:京东商城,阿里巴巴的应用分析
Hadoop在京东商城的应用: 源起:为pop商家进行日志分析服务
瓶颈: 曾采用Oracle RAC(2节点),IBM小型机,由于数据量极大,无法满足时效要求。 成本瓶颈:小型机再进行高配和节点扩展,价格昂贵。
Hadoop集群作为解决方案:
遇到的挑战:
由于NameNode的异常,会导致Hadoop集群服务中断。 解决方案:
Hadoop系统考虑用户权限较少,而对于大规模公司,势必要实施多级权限控制。解决的方法是通过修改源代码加上权限机制。
Hbase极不稳定,反映在某些数据导入导出连接过程中会丢失数据。判断为源代码bug,通过修改源代码解决。
心得: 大型企业成功应用Hadoop,必须有源代码级别修改的技术力量。普通的程序员阅读修改Hadoop源代码并不困难。 HiveSQL和Oracle的SQL有一些差异,大约花一周时间阅读Apache的Hive wiki基本能掌握。
部门结构:
淘宝:单一集群3000节点以上,2-3个集群。 支付宝: 集群规模也达700台,适用Hbase,个人消费记录,key-value型。
对Hadoop源码的修改
NameNode发生故障时对系统的影响)
管理模式:
淘宝魔方:淘宝的数据产品
案例:日志管理
CDN节点服务器 反向代理服务器:减少主发布服务器的数据传输。 当客户端第一次访问主发布服务器后,主发布服务器会把数据放到CDN缓存服务器里,以后客户端只要访问CDN缓存服务器就好了。
CDN服务器里无法收集日志文件。 因为CDN服务器通常为多家网站服务,日志文件会混在大量文件里。而且CDN服务器的提供商也不会让你取得里面的日志文件。
实现: 探针设计 在页面里加入探针代码(js代码),把用户记录 统计到一个专门的日志收集服务器(或统计服务器)里。
问题:排除爬虫和程序点击导致的虚假流量 1,用鼠标测动方法来对抗爬虫(js代码实现) 2,常用流量作弊手段。 对抗方法:从属性里解析顶层窗口的url是否是服务器主站地址。 3,跟踪用户(通过cookie内容来解析用户IP)来防止作弊。
遇到的问题:
解决: (1)Hadoop方案
(2) Hadoop+Hbase方案。 比方案(1)更好。