您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > Tencent大数据技术架构45
腾讯大数据技术架构2014.091整体架构简介业务需求基础平台架构用户规模•千万-10亿用户响应•秒-毫秒并发请求•C10K-C10M数据规模•TB-PB-EB机器规模•千-万-10万级大数据时代的业务需求数据生产域•OLTP数据消费域•OLAP数据两大领域资源调度Gaia分布式存储TDSQL/…业务逻辑TDF:配置/日志/协议/路由/权限/容错/容灾…用户接入SDK:H5/iOS/Android…分布式存储HDFS/HBase/…离线计算TDW实时计算TRC数据产品秒级监控/精准推荐/多维分析/…OLTPOLAP资源管理基础平台架构关键技术概览资源调度Gaia–8800台分布式数据库TDSQL–高一致性分布式计算–规模化、实时化、多样化资源调度-GaiaGaia简介Gaia核心特性Gaia打造大数据云操作系统资源调度和管理Gaia将一组机器映射成一台逻辑上的大机器为上层提供简单、统一的资源界面配置管理、单点容灾+性能,扩缩容,资源利用率…,统统不用操心!8硬件设施GaiaNodeContainerNodeManagerMRAMStandbyRMActiveRMApplicationStateClusterStateNodeContainerNodeManagerSparkAMNodeContainerNodeManagerStormAM资源调度管理并行计算框架BATCH(Mapreduce)ONLINE(Hbase)STREAMING(Storm)IN-MEMORY(Spark)HPCMPI(OpenMPI)SERVICEGaia核心特性支持多种并行计算框架可扩展性好资源隔离彻底资源利用率高9(一)GaiavsYarn–提升可扩展性在规模为1万节点,1万作业,1200队列时,Yarn原生fair调度器平均每秒只能调度20个container。一天只能调度170万个container。而我们的现网集群,平均每天调度的container数量为7000万+。10NodeManagerContainerContainerGaia-资源调度器优化–sfair调度器RMSchedulerNodePoolAppPool1.Heartbeat3.LaunchcontainerNodeManagerContainerContainerNodeManagerContainerContainerScheduleThread2.Selectanapp•心跳处理与调度解耦和:单集群规模扩展至1w个节点•控制多线程间的同步:优化线程间锁,将调度线程持锁时间减少70%•优化队列和作业排序:取消全排序,采用堆排序,减少了调度器80%的CPU时间•降低调度开销:对无资源需求的app/queue,禁止其参与调度ResourceManagerMatch11Gaia-资源调度器优化–效果经过优化,在大规模环境下,调度器的平均吞吐率从20提高到1000,提高50倍。优化前优化后上图优化前后的测试环境完全相同。均为1万节点,1万作业,1200队列。12网络出带宽管理结合linuxCgroups和HTB采用borrow机制,充分利用共享带宽资源网络入带宽管理自主知识产权,通过修改Linux内核实现,实现精准而弹性,高效率低损耗的入带宽隔离。•专利2013107167896基于令牌桶的数据传输流量调度方法及其系统•专利201310743471.7通过接收端主机标记ECN进行网络入流量限速的方法•专利2013107175144根据令牌桶的水位调整TCP通告窗口的网络入流量主动限速方法多磁盘管理统一工作目录,为job提供更大磁盘空间充分利用多磁盘IO并发资源维度YarnGaiaMemoryCpuDiskspaceNetworkIO(二)GaiavsYarn-增加资源管理维度13(三)Gaia-优化资源管理策略•CPU管理•资源超发:提高资源使用率•基于优先级调度的cpu.share•高优先级作业的服务质量得以保证•内存管理•引入EMC(ElasticMemoryControl)•采用hardlimit+softlimit结合的方式•Hardlimit保证安全,不超机器总容量•Softlimit保证充分利用整机资源14强扩展性:支持单cluster万台规模(即将达到8800节点,20w+核,1500个pool)高调度吞吐:毫秒级的下发效率(App并发3.5k,Container匹配时间0.2ms)弹性内存管理:hardlimit+softlimit相结合充分利用整机资源多维度资源管理:新增NetworkIO、DiskIO等资源管理维度,提升了隔离性丰富的用户api:为业务提供更便捷的容灾、扩容、缩容和升级等方式建立“onGaia”生态圈:支持storm、spark、MR等各种应用Gaia技术特点15数据生产领域-OLTP计费在线业务能力要求TDSQLTitan计费平台在线业务能力要求•百亿级账户•百亿级日交易流水•百亿级日稽核记录•十万级每秒并发•毫秒级交易响应•一分不差银行级账务•7*24不间断服务(99.999%)营销稽核账户交易安全结算TDSQL腾讯分布式MySQL18业界方案-阿里:TDDL基于集中式配置的jdbcdatasource实现,主要解决分库分表对应用透明和异构DB间的数据复制主要特点主备和动态切换带权重的读写分离集中式数据源信息管理和动态变更支持mysql和oracle数据库基于jdbc规范,容易扩展应用直连数据库读写次数、并发度流程控制,动态变更业界方案-奇虎:Atlas基于MySQL协议的数据中间层主要功能:读写分离从库负载均衡IP过滤自动分表自动摘除宕机的DB业界方案-腾讯:CDB为第三方开发人员提供的DB存储解决方案主要特点DBaas,即申请即使用通过Mysql客户端和API直接访问和管理Mysql实例,无需改造代码master/slave切换后Mysql实例的IP/Port不变,应用层无需修改配置提供master-slave热备,定时冷备服务支持“一键式”扩容业界方案对比项目CDBTDDLAtlas用户接口分库分表单表单表功能Mysql兼容Mysql兼容Mysql兼容一致性不严格保障不严格保障不严格保障容错主备;自动切换主备;自动切换主备;自动切换容灾跨IDC跨IDC跨IDC容量伸缩半手工/一键扩容半手工半手工建表预分表/手工预分表/手工预分表/手工监控分钟分钟分钟数据导入手工手工手工离线统计分析不支持不支持不支持TDSQL数据存储&访问故障隔离&恢复容量伸缩数据安全…分布式存储TDSQL业务逻辑TDF:配置/日志/协议/路由/权限/容错/容灾…用户接入SDK:H5/iOS/Android…面向关键数据的解决方案scheduler主MySQL+Agent备1MySQL+Agent备2nMySQL+Agent…SetA主MySQL+Agent备1MySQL+Agent备2nMySQL+Agent…SetBScheduler网关网关网关应用MySQLAPI1、识别DDL类sql,并以任务形式保存至scheduler;2、解析DML类sql,并转发至对应Set;3、收集Set返回的结果,组合后返回请求端;4、watch并获取表的访问路由;…1、保存DDL任务,并在DB上执行;2、保存实例/表状态,生成容量伸缩任务;3、控制Set内的主备切换;4、多scheduler通过zk选举容灾;…1、监控实例状态并上报;2、监控表状态并上报;3、拉取并执行数据搬迁任务;…GaiaTDSQL总体架构TGW(逻辑表)TMysql(物理表)初始态:逻辑表=物理表TT0T1T2T3TnGW(逻辑表)Mysql(物理表)扩容后:逻辑表=N个物理表当SET资源不够或表记录超标时,触发扩容,物理表分裂该过程自动完成容量:自动分表伸缩方式整表迁移子表分裂原则:避免表分裂,及时表合并表分裂的问题在一个集群中,每次表分裂,会导致集群表数量的增加;集群中表的数量就是路由的条数,表数量越多,路由的效率就会越低一个实例上面的表越多,对该实例运行环境的判断就越复杂:同一实例上的子表,表现各异,交叉影响的评估难度增大,可能导致连锁反应扩容:整表迁移子表分裂缩容:子表合并整表搬迁整表迁移子表分裂T1T2T3T2T1容量:自动伸缩步骤scheduler:检测到主故障,通知主降级备:relay日志导入,完成后上报schedulerscheduler:通知备升级为主备:升级完成,上报schedulerscheduler:通知gw切换路由gw:路由切换至新的主机切换完成gw主scheduler备主备高一致,跨IDC容灾:自动切换高一致性容灾设计存储安全热备:至少双份冷备:快照+binlog访问安全兼容MySQL权限控制用户级别的数据隔离、访问控制主备1备(n-1)…SET冷备中心增量热备增量热备全量冷备数据安全一切还像原来,只是更加简单通过MySQL客户端访问,与使用本地MySQL一样命令行管理台可视化操作,可查看实时运营状态、统计报表编程接口通过MySQLClientAPI访问,完全兼容用户界面注册账户•管理台:标识逻辑表空间创建Table•MySQLClient命令行使用DB•MySQLClientAPI•MySQLClient命令行查看状态•管理台:统计报告什么备置机器、配置部署、扩容切换等等,通通不需要了——让一切回归简单用户接入项目TDSQLCDBTDDLAtlas用户接口单表分库分表单表单表功能Mysql兼容Mysql兼容Mysql兼容Mysql兼容一致性高一致不严格保障不严格保障不严格保障容错主备;自动切换主备;自动切换主备;自动切换主备;自动切换容灾跨IDC、跨城跨IDC跨IDC跨IDC容量伸缩自动按需伸缩手工/一键扩容半手工半手工建表自动手工手工手工监控秒级分钟分钟分钟数据导入自动手工手工手工离线统计分析支持不支持不支持不支持与业界方案对比Titan计费泰坦集群33目标建设一个统一的业务开发框架,用以降低开发、测试、运维的复杂度,提升服务质量具备快速、灵活的业务支持能力,提升服务效率提升IT资源利用率资源管理TRM-Gaia整体架构服务器开发框架TDFcgiserver服务器服务器服务器服务器…应用管理TAM集群控制台TCC3+1结构:资源管理、服务管理、开发框架+集群控制台部署配置路由授权流量…TAM应用管理-流量调度调度规则nodenodenodenode正式灰度业务请求node沙箱包头包身(value…)(ip,cmd,uin,bizcode,…)node接入层现网流量copy转发主要用于:负载调度、灰度实验、沙箱验证、现网引流等TAM应用管理-跨城部署背景集群的内聚性:一个集群内部的协调交互比较频繁,如管理通道的心跳等;如果集群内部跨城,一方面跨城的网络延时会影响通讯,另一方面跨城流量也会大幅增加所以,一般按城分集群需求跨集群的业务访问:如一笔交易,批价在深圳,发货在上海;这种跨集群的访问需要跨集群的路由解决方案:分布式、无中心每个集群保存一个全局元数据(主要包括调用关系和iplist)本地同步server负责将本地集群的元数据变更同步到所有集群的全局元数据中采用zookeeper保存元数据zkzkzkTDF开发框架路由策略授权策略流量调度策略日志模块业务逻辑接入框架通讯模块Control业务逻辑业务逻辑业务逻辑TDF开发框架-全异步通信TCC集群控制台管理台集群管理应用管理概况集群操作台概况应用操作台机器数量资源使用率集群增删改集群容量伸缩集群组件升级告警处理应用数量资源使用情况部署/升级修改配置查看状态定位问题数据消费领域-OLAP腾讯大数据发展概况大数据平台之基础架构大数据应用之实时精准推荐月活跃用户8.3亿,最高同时在线2.1亿;在线人际关
本文标题:Tencent大数据技术架构45
链接地址:https://www.777doc.com/doc-24369 .html