《3-5 腾讯 Alluxio 加速下一代大数据业务落地.pdf》由会员分享,可在线阅读,更多相关《3-5 腾讯 Alluxio 加速下一代大数据业务落地.pdf(25页珍藏版)》请在三个皮匠报告上搜索。
1、腾讯 Alluxio 加速下一代大数据业务落地汇报人:陈曦email:ALLUXIO SHARINGFROM:腾讯 TEG Alluxio 简介01目录CONTENTSAlluxio Local Cache02Alluxio 自适应 URI03Alluxio 授权04Alluxio 简介01PART Alluxio 简介一个典型的 Alluxio 集群由 Masters、Workers 以及 job Masters、job Workers 组成Masters 和 Workers 是集群的核心组件,Master 主要负责集群以及元数据的管理,Worker 主要负责数据块的存储job Master
2、s 和 job Workers 主要负责执行一些特定的任务。Alluxio 是一个基于内存的数据编排系统。它为数据驱动型应用和存储系统构建了桥梁,将数据从存储层移动到距离数据驱动型应用更近的位置从而能够更容易被访问。这还使得应用程序能够通过一个公共接口连接到许多存储系统Alluxio Local Cache02PART Alluxio Local CacheDLC 客户大部分的数据都是存在对象存储里,通过 Presto 直接读取对象存储里面的数据会存在一定的性能消耗,对性能比较敏感的客户可以利用 Alluxio 对数据进行缓存,从而提升计算速度。目前在 Presto 中使用 Alluxio 进
3、行缓存支持两种形式1.Persto Cluster+Alluxio Cluster单独部署一个 Alluxio 集群,缓存数据的节点和计算的节点不在一起。Alluxio 本身负责缓存的管理2.Persto Cluster+Alluxio Local Cache 计算节点与缓存文件系统位于同一节点上,形态本质上是在 Presto 的 Worker 上缓存数据。Alluxio Local CachePersto Cluster+Alluxio Cluster优点:可以具有更大的缓存空间;多个 Presto 集群可以共享一个 Alluxio 集群;Presto 动态扩缩容不会使缓存失效。缺点:需要额
4、外的机器成本;需要额外的运维成为;数据和计算可能不在一台节点。Alluxio Local CachePresto workerAlluxio Local CachePod1Container1Presto workerAlluxio Local CachePod2Container2Presto workerAlluxio Local CachePod3Container3External StoragePresto coordinatorContainer1Pod0优点:离计算节点更近;不需要额外的机器资源;运维简单。缺点:缓存空间可能会受限于计算节点;计算资源被回收,缓存资源也会被回收,造
5、成缓存失效。Persto+Alluxio Local Cache Alluxio Local Cachesplitsplitsplitsplitsplitsplitfile1file2 社区:文件为粒度的亲和性策略worker2worker1splitsplitsplitsplitsplitsplitfile1file2 DLC优化:split 为粒度的亲和性策略worker1worker2相比社区更优方案 用很少的缓存来撬动很好的加速效果(3-10倍)TPC-H 性能测试,总数据量 1TB(Scale Factor=1000)的 Parquet 文件经过分析发现 Presto 里面在开启 S
6、OFT_AFFINITY 调度是以文件为粒度进行的,有些计算文件比较大,这样会导致某些节点分到的 Split 数比较多TPC-H 性能测试,总数据量 1TB(Scale Factor=1000)的 Parquet 文件每个 Worker 挂载一个 10GB盘,可以看到Q1、Q4、Q6 以及 Q12 性能提升非常明显。其它 SQL 性能提升不大。将每个 Worker 挂载的盘增加到两到 2 块 10GB 盘,可以看到当缓存空间扩大一倍时,Q1、Q4、Q6 以及 Q12 性能提升不大,但是其它 SQL 性能提升非常明显,原因是可缓存的空间比较多,所以整个计算 IO 的瓶颈减少。将每个 Worker