实际应用场景之

百度在2008年就开始使用Hadoop作为其离线数据分析平台,从Hadoop v0.18/0.19开始,300台机器,2个集群,现在的规模为2W台节点以上,最大集群接近4,000节点,每日处理数据20PB+,每日作业数120,000+

Hadoop在百度主要用于如下场景:

  • 日志的存储和统计;
  • 网页数据的分析和挖掘;
  • 商业分析,如用户的行为和广告关注度等;
  • 在线数据的反馈,及时得到在线广告的点击情况;
  • 用户网页的聚类,分析用户的推荐度及用户之间的关联度。


百度和其它公司对Hadoop的应用最大的不同是对源代码做了大量的修改,当Hadoop 2.0官方版本还没有出来时,百度就已经在开发自己的Hadoop 2.0,如下图所示:


HDFS 1.0面临的问题有:
  • 集群规模大,Namenode响应变慢
  • Namenode单点,切换时间太长
  • 没有数据压缩
  • Namespace过于耗用资源
百度自己开发的HDFS 2.0改进了如下功能:
  • Namenade热备切换
  • 分钟级别切换
  • 最坏情况,可能丢失1分钟数据
  • 透明数据压缩(利用CPU低谷时压缩、长时间未使用的块才压缩等)
MapReduce 1.0面临的问题有:
  • JobTracker单点问题
  • 资源粒度过粗(slot)
  • 资源利用率不高
百度自己开发的MapReduce 2.0改进了如下功能:
  • 可扩展性强(支持万台节点以上)
  • 架构松耦合,支持多种计算框架
  • 可支持热升级
  • 更精细的资源控制
  • MR优化:Shuffle独立/Task同质调度
原文地址:https://www.cnblogs.com/javawebsoa/p/3150383.html