腾讯大数据基础平台介绍腾讯大数据基础平台介绍腾讯大数据基础平台介绍腾讯大数据基础平台介绍赵伟2架构挑战及应对•质量更可控质量更可控质量更可控质量更可控•开发更简单开发更简单开发更简单开发更简单•快速实现快速实现快速实现快速实现•降低业务处理成本降低业务处理成本降低业务处理成本降低业务处理成本•去去去去IOEIOEIOEIOE厂商绑定厂商绑定厂商绑定厂商绑定•99.9%-99.99%+99.9%-99.99%+99.9%-99.99%+99.9%-99.99%+•核心业务做到核心业务做到核心业务做到核心业务做到0000停机维护停机维护停机维护停机维护•应用级灾备应用级灾备应用级灾备应用级灾备•安全安全安全安全•千万级千万级千万级千万级----亿级亿级亿级亿级•同城同城同城同城----异地异地异地异地----全球全球全球全球•PPPP级数据深度应用级数据深度应用级数据深度应用级数据深度应用海量海量海量海量稳定稳定稳定稳定速度速度速度速度成本成本成本成本打造核心技打造核心技打造核心技打造核心技术,快速提升术,快速提升术,快速提升术,快速提升企业竞争力!企业竞争力!企业竞争力!企业竞争力!3大数据基础平台大数据基础平台大数据基础平台大数据基础平台数据平台部�Gaia–yarn�TDBank–flume�TDW–hadoophivepostgrehbase�TRC–storm数据服务数据服务数据服务数据服务计费服务计费服务计费服务计费服务资源调度资源调度资源调度资源调度GaiaGaiaGaiaGaia关系型存储关系型存储关系型存储关系型存储TDSQLTDSQLTDSQLTDSQL业务逻辑业务逻辑业务逻辑业务逻辑TDFTDFTDFTDF:配置:配置:配置:配置////日志日志日志日志////协议协议协议协议////路由路由路由路由////权权权权限限限限////容错容错容错容错////容灾容灾容灾容灾…………用户接入用户接入用户接入用户接入SDK:H5/iOS/AndroidSDK:H5/iOS/AndroidSDK:H5/iOS/AndroidSDK:H5/iOS/Android…………分布式存储分布式存储分布式存储分布式存储HDFS/HBase/HDFS/HBase/HDFS/HBase/HDFS/HBase/…………离线计算离线计算离线计算离线计算TDWTDWTDWTDW实时计算实时计算实时计算实时计算TRCTRCTRCTRC数据产品数据产品数据产品数据产品精准推荐精准推荐精准推荐精准推荐////多维分析多维分析多维分析多维分析////…………TDBankTDBankTDBankTDBankDataAPIDataAPIDataAPIDataAPI秒级秒级秒级秒级监控监控监控监控腾讯数据平台整体框架GaiaGaiaGaiaGaia资源管理与调度资源管理与调度资源管理与调度资源管理与调度1�平台简介�丰富资源管理维度�优化资源管理策略�优化资源调度器�应用情况Gaia–基于Yarn的改进•Yarn——asClusterOperationSystem。•GAIA—基于Yarn的通用资源调度平台,提供高并发任务调度和资源管理,实现集群资源共享,可伸缩性和可靠性,不仅可以为MR等离线业务提供服务,还可以支持实时计算,甚至在线service业务。�将一个数据中心的硬件资源逻辑上整合成一台服务器�为云应用软件提供统一、标准的接口�管理海量的任务以及资源调配Gaia–增加资源管理维度资源维度资源维度资源维度资源维度YarnYarnYarnYarnGAIAGAIAGAIAGAIAMemoryMemoryMemoryMemory��������CpuCpuCpuCpu��������DiskspaceDiskspaceDiskspaceDiskspace��������NetworkIONetworkIONetworkIONetworkIO��������相对于相对于相对于相对于YarnYarnYarnYarn,增加了,增加了,增加了,增加了networkIOnetworkIOnetworkIOnetworkIO和和和和diskspacediskspacediskspacediskspace的资源管理的资源管理的资源管理的资源管理网络出带宽网络出带宽网络出带宽网络出带宽•基于LinuxCgroup和HTB•层级化HTB结构•剩余出带宽基于job优先级再分配:提高资源利用率网络入带宽网络入带宽网络入带宽网络入带宽•修改Linuxkernel,已发社区patch•通过令牌桶给网络包打标记•通过ENC+丢包来限速磁盘容量磁盘容量磁盘容量磁盘容量•统一的工作目录:便于用户编写和调试分布式程序•多磁盘:为job提供更大磁盘空间,充分利用磁盘I/O并发Gaia–优化资源管理策略CPUCPUCPUCPU管理:管理:管理:管理:�资源超发:提高资源利用率�基于优先级调整cpu.share�cpu利用率提升�高优先级job的服务质量得到保证内存管理:内存管理:内存管理:内存管理:�层级化LinuxCgroup结构�hardlimit限制所有job的内存使用总量�softlimit限制单个job的内存使用量Gaia–优化资源调度器YarnYarnYarnYarn调度器特点:调度器特点:调度器特点:调度器特点:�多种可插拔调度策略�考虑job的公平性和优先级GaiaGaiaGaiaGaiaschedulerschedulerschedulerscheduler的优化:的优化:的优化:的优化:�提升调度吞吐,毫秒级的下发�提升可扩展性,适应更大规模集群关键技术点:关键技术点:关键技术点:关键技术点:�Profiling优化关键路径�调度与心跳处理解耦和�细化锁粒度,减少线程间竞争�异步化并行化处理Gaia–应用情况–上层业务包括MR、Hive、PIG、Strom等–为业务提供自动的容灾、资源管理与调度、权限管理、自动扩容缩容支持等–目前单集群达1000节点,今年目标是单集群8800节点,将会建成业内最大集群TDBankTDBankTDBankTDBank数据接入平台数据接入平台数据接入平台数据接入平台2�技术架构�技术特点�应用状况DBAgentDBAgentDBAgentDBAgent日志日志日志日志AgentAgentAgentAgent消息消息消息消息ClientClientClientClient消消消消息息息息接接接接入入入入中中中中心心心心TRCTRCTRCTRC在线应用在线应用在线应用在线应用公网公网公网公网内网内网内网内网︵︵︵︵分分分分布布布布式式式式缓缓缓缓存存存存︶︶︶︶消消消消息息息息存存存存储储储储中中中中心心心心消消消消息息息息分分分分拣拣拣拣中中中中心心心心TDWTDWTDWTDW离线存储离线存储离线存储离线存储TDBank-TDBank-TDBank-TDBank-技术框架技术框架技术框架技术框架业业业业务务务务数数数数据据据据源源源源自动对接自动对接自动对接自动对接自动入库自动入库自动入库自动入库•TDBankTDBankTDBankTDBank————TencentDataBankTencentDataBankTencentDataBankTencentDataBank•主要负责:从业务数据源端实时采集数据,进行预处理和分布式消息缓存后,主要负责:从业务数据源端实时采集数据,进行预处理和分布式消息缓存后,主要负责:从业务数据源端实时采集数据,进行预处理和分布式消息缓存后,主要负责:从业务数据源端实时采集数据,进行预处理和分布式消息缓存后,按照消息订阅的方式,分发给后端的离线和在线处理系统按照消息订阅的方式,分发给后端的离线和在线处理系统按照消息订阅的方式,分发给后端的离线和在线处理系统按照消息订阅的方式,分发给后端的离线和在线处理系统TDBank-TDBank-TDBank-TDBank-技术特点技术特点技术特点技术特点�灵活:灵活:灵活:灵活:支持支持支持支持DBDBDBDB、、、、LOGLOGLOGLOG日志、实时消息等多种接入方式日志、实时消息等多种接入方式日志、实时消息等多种接入方式日志、实时消息等多种接入方式�低成本:低成本:低成本:低成本:支持公网传输,数据压缩支持公网传输,数据压缩支持公网传输,数据压缩支持公网传输,数据压缩�高可靠:高可靠:高可靠:高可靠:消息传输过程失败重发和滤重机制,保障一致性消息传输过程失败重发和滤重机制,保障一致性消息传输过程失败重发和滤重机制,保障一致性消息传输过程失败重发和滤重机制,保障一致性�低时延:低时延:低时延:低时延:流式数据处理,毫秒级消息分发流式数据处理,毫秒级消息分发流式数据处理,毫秒级消息分发流式数据处理,毫秒级消息分发�可复用:可复用:可复用:可复用:7777天数据缓存,消息可被多次订阅天数据缓存,消息可被多次订阅天数据缓存,消息可被多次订阅天数据缓存,消息可被多次订阅�快捷:快捷:快捷:快捷:自动入库,并能自动与实时计算等应用对接自动入库,并能自动与实时计算等应用对接自动入库,并能自动与实时计算等应用对接自动入库,并能自动与实时计算等应用对接•最高超过5500550055005500亿亿亿亿,日接入数据量80TB80TB80TB80TB•接入业务接口超过6000600060006000个个个个,包括微信、QQ、Qzone、游戏、电商、媒体等重点平台数据•支撑广点通、电商、视频和游戏等精准推荐,以及微信数据分析等实时分析和产品报表TDBank-TDBank-TDBank-TDBank-应用现状应用现状应用现状应用现状2013201320132013年年年年3333月月月月100100100100亿亿亿亿////天天天天2013201320132013年年年年8888月月月月1000100010001000亿亿亿亿////天天天天2014201420142014年底年底年底年底10000100001000010000亿亿亿亿////天天天天2014201420142014年年年年3333月月月月5500550055005500亿亿亿亿////天天天天TDWTDWTDWTDW腾讯分布式数据仓库腾讯分布式数据仓库腾讯分布式数据仓库腾讯分布式数据仓库3�平台简介�Hive优化�Hadoop优化�PostgreSQL集成�Hbase应用�应用情况TDW–基于Hadoop/Hive的深度定制•TDW—TencentdistributedDataWarehouse•腾讯分布式数据仓库,支持百PB级的数据存储和计算,为公司产品提供海量、高效、稳定的大数据平台支撑和决策支持。Hive/PigHive/PigHive/PigHive/Pig查询处理引擎查询处理引擎查询处理引擎查询处理引擎LhotseLhotseLhotseLhotse任务统一调度任务统一调度任务统一调度任务统一调度集成开发环境集成开发环境集成开发环境集成开发环境IDEIDEIDEIDE计算计算计算计算引擎引擎引擎引擎MapReduceMapReduceMapReduceMapReduce存储存储存储存储引擎引擎引擎引擎HDFSHDFSHDFSHDFSHADOOPHADOOPHADOOPHADOOP集群集群集群集群TDBTDBTDBTDBankankankank数数数数据据据据采采采采集集集集PostgrePostgrePostgrePostgre小数据小数据小数据小数据处理处理处理处理HBaseHBaseHBaseHBase实时实时实时实时查询查询查询查询资源调度和管理资源调度和管理资源调度和管理资源调度和管理GaiaGaiaGaiaGaia功能扩充功能扩充功能扩充功能扩充•基于角色的权限管理基于角色的权限管理基于角色的权限管理基于角色的权限管理•兼容兼容兼容兼容MySQLMySQLMySQLMySQL的分区功的分区功的分区功的分区功能能能能•窗口函数窗口函数窗口函数窗口函数•多维分