腾讯Hadoop集群演进:从大规模到高可用与高效
需积分: 13 69 浏览量
更新于2024-07-22
收藏 656KB PDF 举报
"腾讯在构建和管理大规模Hadoop集群方面有着丰富的实战经验,他们面临并解决了一系列挑战,包括NameNode的容灾、JobTracker的调度效率等问题,最终选择了JobTracker分散化的方案,以实现高可用、高效和高扩展性的目标。"
在腾讯的大规模Hadoop集群实践中,他们整合了多个业务部门的集群,如SNG、IEG、MIG和CDG等,旨在实现数据共享、计算资源共享,以减轻运营负担。集群的规模从最初的200台到超过4000台,反映出数据处理需求的巨大增长。
在集群的架构中,主要分为计算层和存储层。存储层的核心是HDFS(Hadoop Distributed File System),但腾讯遇到了NameNode没有容灾、数据丢失风险以及JobTracker调度效率低下的问题。NameNode作为HDFS的元数据管理节点,如果出现故障,会导致整个系统的停滞,而单个JobTracker的集中式调度模式限制了集群的扩展性。
为了解决这些问题,腾讯考虑了多种方案,包括Yarn和Corona。Yarn(Yet Another Resource Negotiator)是由Apache Hadoop项目开发的下一代资源管理系统,其目标是将资源管理和应用程序的调度分离,提供更好的可扩展性和高可用性。然而,当时Yarn还在社区开发中,稳定版的发布时间未定,可能存在代码复杂度高的问题。Corona则是Facebook发布的一个解决方案,它也实现了JobTracker的分散化,但基于0.20系列代码,可能需要对现有的CDH3u3(Cloudera Distribution Including Apache Hadoop)基础进行较大的改动。
最终,腾讯选择了在2012年12月实施JobTracker分散化方案。这个决定基于对现有系统(如HDFS 2.X系列)的支持,以及对任务调度和资源管理的解耦需求,以实现更精细的任务调度。JobTracker的分散化使得任务管理器(Task Tracker)可以向多个Cluster Manager申请资源,实现了平行扩展,提高了系统的可用性和效率。
通过这样的改造,腾讯成功地优化了其大数据处理能力,为各种业务场景(如社交广告、电商、视频分析等)提供了强大的数据仓库和数据分析支持,同时也为数据开发者提供了自助提取与分析的平台,推动了数据应用的创新和发展。这种大规模Hadoop集群的实战经验对于其他寻求类似解决方案的公司具有重要的参考价值。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2015-01-21 上传
2021-05-23 上传
2021-04-20 上传
2021-10-18 上传
点击了解资源详情
点击了解资源详情
非凡007
- 粉丝: 0
- 资源: 7
最新资源
- eatwitharuna-dev:eatwitharuna食谱博客网站的开发库,该站点使用Next.js和Sanity.io构建。 演示托管在vercel上
- hm14:html5实际作业数据室
- 灰色按钮激活.zip易语言项目例子源码下载
- pyg_lib-0.3.0+pt20cpu-cp310-cp310-linux_x86_64whl.zip
- react-2-afternoon:一个React下午项目,帮助学生巩固,绑定,陈述和道具
- sbdp
- Segment-master.zip
- 减去图像均值matlab代码-Color-Transfer-Between-Images:DIP课程项目工作
- middlefieldbankbank
- ANNOgesic-0.7.2-py3-none-any.whl.zip
- -Web-bootstrap
- 乐高
- Jetpack-CameraX-Android
- express_cheatsheet
- --ckgammon:具有简单 AI 的双陆棋游戏
- eMaapou:电子地球地壳