腾讯大数据集群实践:Hadoop演进与高可用方案

5星 · 超过95%的资源 需积分: 13 140 下载量 37 浏览量 更新于2024-07-24 收藏 656KB PDF 举报
"这篇资料是2013年中国大数据技术大会上腾讯数据中心资深专家翟艳堂的演讲,主题是腾讯如何构建大规模Hadoop集群的实践。腾讯在构建Hadoop集群时面临了单点故障、JobTracker效率低下以及NameNode无容灾等问题。为了解决这些问题,腾讯采取了一系列措施,如实现JobTracker的分散化和NameNode的高可用性,并在业务选型上选择了Facebook开源的Corona项目。此外,还介绍了腾讯的数据服务总体框架,包括数据仓库、数据应用、数据分析和精准推荐等模块,以及不同业务部门对数据的利用情况。" 在Hadoop集群的建设中,腾讯首先解决了单点问题。传统的Hadoop架构中,NameNode作为元数据管理的核心节点,一旦出现故障,整个系统可能瘫痪。为了解决这一问题,腾讯实施了NameNode的高可用性方案,以确保即使NameNode发生故障,系统仍能正常运行,减少数据丢失的风险,并缩短了系统重启的时间。 其次,腾讯针对JobTracker的调度效率低下和集群扩展性不足的问题,进行了JobTracker的分散化。通过这种方式,将原本集中式的JobTracker职责分解为资源管理和任务调度两个部分,实现了JobTracker的平行扩展,提高了集群的调度效率和整体性能。新的架构中,Cluster Manager负责资源管理,而任务调度和任务管理则由独立的组件处理,使得系统能够更精细化地进行任务调度。 在技术选型上,腾讯选择了Facebook开源的Corona项目,而非等待Yarn(那时还在社区开发中,稳定版发布时间未知)。Corona是基于Hadoop 0.20系列代码的,相对代码复杂度较低,更适合腾讯大规模集群的需求。这种选择有助于腾讯快速实现Hadoop集群的扩展性和高可用性目标。 腾讯的大数据服务总体框架包括了多个层次和组件,如Lhotse统一调度系统、TDW(数据仓库)、TDBank(数据采集与分发)、TRC实时计算平台等,覆盖了数据的全生命周期管理,从数据采集、存储、计算到数据分析和应用。此外,腾讯还建立了数据开发者平台和数据应用门户,促进各部门之间的数据共享和计算资源的优化使用,减轻了运营负担。 通过这个实践,腾讯成功地构建了一个大规模、高可用、高效的Hadoop集群,为旗下的SNG(社交网络事业群)、IEG(互动娱乐事业群)、MIG(移动互联网事业群)、CDG(企业发展事业群)、ECC(企业技术事业群)、TEG(技术工程事业群)和OMG(在线媒体事业群)等多个业务部门提供了强有力的数据支持,推动了其精准推荐模型、社交广告、电商和视频等业务的发展。