Gaia
Gaia的目标是实现更高效的资源调度, 基于Yarn的通用资源调度平台,提供高并发任务调度和资源管理,实现集群资源共享、可伸缩性和可靠性,不仅可以为MR等离线业务提供服务,还可以支持实时计算,甚至在线service业务。
Gaia 技术特点:
- 强扩展性:支持单cluster万台规模 (已达到6000节点,14w+核,1250个pool)
- 高调度吞吐:毫秒级的下发效率(App并发3.5k,Container匹配时间0.2ms)
- 弹性内存管理:hardlimit+softlimit相结合充分利用整机资源
- 多维度资源管理:新增Network IO、Disk IO等资源管理维度,提升了隔离性
- 丰富的用户api:为业务提供更便捷的容灾、扩容、缩容和升级等方式
- 建立“on Gaia”生态圈:支持storm、spark、MR等各种应用
Gaia-应用情况:
- 上层业务包括MR 、Hive、PIG、Strom 、Spark等
- 为业务提供自动的容灾、资源管理与调度、权限管理、自动扩容缩容支持等
- 单集群8800节点,业内最大集群
TDBank
TDBank是从业务数据源端实时采集数据,进行预处理和分布式消息缓存后,按照消息订阅的方式,分发给后端的离线和在线处理系统。
TDBank构建数据源和数据处理系统间的桥梁,将数据处理系统同数据源解耦,为离线计算TDW和在线计算TRC平台提供数据支持。目前通过不断的改进,将以前Linux+HDFS的模式,转变为集群+分布式消息队列的模式,将以前一天才能处理的消息量缩短到2秒钟!
从 架构上来看,TBank可以划分为前端采集、消息接入、消息存储和消息分拣等模块。前端模块主要针对各种数据形式(普通文件,DB增量/全 量,Socket消息,共享内存等)提供实时采集组件,提供了主动且实时的数据获取方式。中间模块则是具备日接入量万亿级的基于“发布——订阅”模型的分 布式消息中间件,它起到了很好的缓存和缓冲作用,避免了因后端系统繁忙或故障从而导致的处理阻塞或消息丢失。针对不同的应用场景,TDBank提供数据主 动订阅模式,以及不同的数据分发支持(分发到TDW数据仓库,文件,DB,HBase,Socket等)。整个数据通路透明化,只需简单配置,即可实现一 点接入,整个大数据平台可用。
TDW
腾讯分布式数据仓库。它支持百PB级数据的离线存储和计算,为业务提供海量、高效、稳定的大数据平台支撑和决策支持。基于开源软件hadoop和Hive进行构建,并且根据公司数据量大、计算复杂等特定情况进行了大量优化和改造。
目前单集群最大规模达到6000台、CPU(14万核)、内存(380 TB)、磁盘( 7.2万块)、存储容量(100 PB);每天Job数 100万+、每天扫描数据量6.5 PB、存储利用率85%、CPU利用率90%+、网络利用率90%+。
同时为了满足挖掘分析与交互式实时查询的计算需求,腾讯大数据使用了Spark平台来支持挖掘分析类计算、交互式实时查询计算以及允许误差范围的快速查询计算,目前腾讯大数据拥有超过200台的Spark集群,并独立维护Spark和Shark分支。
TRC
基于在线消息流的实时计算模型,对海量数据进行实时采集、流式计算、实时存储、实时展示的全流程实时计算体系。
TRC 是基于开源的Storm深度定制的流式处理引擎,用JAVA重写了Storm的核心代码。为了解决资源利用率和集群规模的问题,重构了底层调度模块,实现 了任务级别的权限管理、资源分配、资源隔离,通过和Gaia这样的资源管理框架相结合,做到了根据线上业务实际利用资源的状况,动态扩容&缩容, 单集群轻松超过1000台规模。为了提高平台的易用性和可运维性,提供了类SQL和Piglatin这样的过程化语言扩展,方便用户提交业务,提升接入效 率,同时提供系统级的指标度量,支持用户代码对其扩展,实时监控整个系统运营环节。另外将TRC的功能服务化,通过REST API提供PAAS级别的开放,用户无需了解底层实现细节就能方便的申请权限、资源和提交任务。