上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

3-5 腾讯 Alluxio 加速下一代大数据业务落地.pdf

编号:102476 PDF 25页 3.94MB 下载积分:VIP专享
下载报告请您先登录!

3-5 腾讯 Alluxio 加速下一代大数据业务落地.pdf

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

7、 挂载的盘换为 1 块 20GB 的高性能云盘,总缓存数据仍按是 200GB,可以看到性能与上一个方案类似。Alluxio LocalCachePresto workerAlluxio Local CacheContainer1Pod1Presto workerAlluxio Local CacheContainer2Pod2Presto workerAlluxio Local CacheContainer3Pod3Presto coodinatorContainer1Pod1External StorageAlluxio WorkerContainer1Alluxio Worker Pod.

8、Alluxio WorkerContainer1Alluxio Worker PodAlluxio WorkerContainer1Alluxio Worker PodAlluxio MasterContainer1Alluxio Master PodAlluxio MasterContainer1Alluxio Master PodAlluxio MasterContainer1Alluxio Master PodHAAlluxio ClusterLocal Cache 2.0在 Local Cache 1.0 的基础上,增加常驻的 Alluxio 集群作为次级缓存,Local Cache

9、与 Alluxio 集群交互,Alluxio 集群从外部存储获取数据.常驻的Alluxio 集群能够有效提高缓存命中率Alluxio 自适应 URI03PART Alluxio 自适应 URI业务接入业务接入Alluxio 前前IO 路径路径业务接入业务接入Alluxio 后后IO 路径路径当业务方接入当业务方接入Alluxio 后后,Persto需要从需要从Alluxio中读取数据,中读取数据,所以所以Hive 中需要存储的元数中需要存储的元数需要需要是是Alluxio 的的URI.此时此时Alluxio 接收到接收到相应的请求后相应的请求后,需要再把需要再把Alluxio 的的URI 转换

10、为转换为HDFS 的的URI.从而从而可以与可以与HDFS交互交互基于以上流程基于以上流程,可以知道可以知道如果接入如果接入Alluxio 的是存量业务的是存量业务,需要将原本的需要将原本的Hive 中的中的HDFS URI 转换为转换为Allxuio URI如果已经接入了如果已经接入了Alluxio 的业务的业务,想要替换掉想要替换掉Alluxio 那么需要将那么需要将Alluxio 转换回转换回HDFS URI此时此时Alluxio需要业务方进行入侵性的改动,需要业务方进行入侵性的改动,才能接入顺利业务方才能接入顺利业务方,该如何解决这一问题呢该如何解决这一问题呢?Alluxio 自适应

11、URI此方案中,业务接入 Alluxio 后 HIVE 仍然可以保存HDFS URI,URI 转换工作交由 Alluxio 的 Client 进行对比之前的方案,采用该方案可以有效的减少 Alluxio 对业务方的入侵Alluxio 自适应 URI基于对于 Alluxio 的探活信息,当 Alluxio 出现故障,无法正常服务是,可以将访问直接 fallback 到 HDFS 的集群.对于不同的 Path,可以配置不同的策略,例如对于某些Path,某些需要缓存数据的 Path 让对其的请求有Alluxio 集群处理,而另一些可能不需要缓存的数据,如日志等,可以直接写入后端集群基于以上的方案,还

12、可以有实现更多实用的特性AlluxioShim ClientAlluxio ClusterHDFS Client大幅优化计算存储分离网络带宽,节省峰值带宽(削峰)20%-50%,节省总带宽(10%-50%)在大部分场景下能优化性能,特别是IO密集型,优化性能5%-40%Alluxio 自适应 URI压测方法-使用配置使用自适应 URI 默认配置,计算 1w 规则场景下客户端时延和服务端吞吐;-使用大数据基准测试工具 TPC-DS 压测 1TB、30T 数据,查看基于Alluxio的存储分离对带宽和性能优化效果Alluxio 授权04PART Alluxio 授权基于 HDFS 的 Ranger

13、 Service 支持多种模式的 Ranger 认证-基于 Alluxio namespace 的认证模式-基于 hdfs UFS namespace 的认证模式-支持混合嵌套挂载的 ranger 认证模式alluxio:/mounthdfs:/dir1/alluxio:/a-hdfs/dir1/arootcentos/alluxio$bin/alluxio fs mkdir/a/Successfully created directory/arootcentos/alluxio$bin/alluxio fs mkdir/bSuccessfully created directory/broo

14、tcentos/alluxio$bin/alluxio fs chmod 777/a/Changed permission of/a to 777rootcentos/alluxio$bin/alluxio fs chmod 700/b/Changed permission of/a to 700rootcentos/alluxio$bin/alluxio fs ls/drwxrwxrwx root root 0 PERSISTED 01-17-2022 14:55:32:704 DIR/adrwx-root root 0 PERSISTED 01-17-2022 14:55:50:307 D

15、IR/brootcentos/alluxio$Alluxio 授权rootcentos/alluxio$su-s/bin/bash root-c/alluxio_dir/bin/alluxio fs mkdir/aSuccessfully created directory/arootcentos/alluxio$su-s/bin/bash root-c/alluxio_dir/bin/alluxio fs mkdir/bSuccessfully created directory/brootcentos/alluxio$su-s/bin/bash root-c/alluxio_dir/bin

16、/alluxio fs chmod 777/aChanged permission of/a to 777rootcentos/alluxio$su-s/bin/bash root-c/alluxio_dir/bin/alluxio fs chmod 700/bChanged permission of/b to 700rootcentos/alluxio$su-s/bin/bash root-c/mnt/share2/alluxio-wip/bin/alluxio fs ls/drwxrwxrwx root root 0 NOT_PERSISTED 1-01-1970 20:28:04:50

17、4 DIR/a drwx-root root 0 NOT_PERSISTED 1-01-1970 20:28:07:887 DIR/b rootcentos/alluxio$su-s/bin/bash testx-c/alluxio_dir/bin/alluxio fs touch/b/file/b/file has been createdrootcentos/alluxio$su-s/bin/bash testx-c“/alluxio_dir/bin/alluxio fs touch/a/filePermission denied by authorization plugin:allux

18、io.exception.AccessControlException:Permission denied:user=testx,access=-w-,path=/a/file:failed at a,inode owner=root,inode group=root,inode mode=rwx-rootcentos/alluxio$当配置了 ranger,则跳过 ACL 权限按照 ranger 的策略进行授权默认情况下,Alluxio 按照文件系统 ACL 进行授权Alluxio 授权AlluxioOzoneClient当 Alluxio 作为 Ozone 的数据缓存层是,在些情况下,业务

19、方可能会通过 Alluxio 访问Ozone 中的数据,另一些情况下,业务可能需要直接访问 Ozone 中的数据,这时,如果想要让保证无论用户通过那种方式来访问 Ozone 中的数据,都可以有一致的鉴权结果,该如何做呢。需要注意到的是,Ozone 是一个对象存储,而Alluxio 是一个文件存储file policyobject policyOperationOwnership ParentAncestorFinalSub-treecreateNON/AWRITEWRITE 1N/AdeleteNO 2WRITEN/AN/AREAD,WRITE,EXECUTEmkdirsNON/AWRITEN

20、/AN/A对象存储语意与文件存储语意对比(部分)https:/hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.htmlPathvolume.bucket.keyAlluxio:/a/mountozone:vol1.bucket1Alluxio:/a/dir1ozone:vol1.bucket1.dir1/Alluxio:/a/dir1/dir2/file1ozone:vol1.bucket1.dir1/dir2/file1操作/对应权限Volume permissionBuck

21、et permissionsKey permissionsCreate volumeCREATEList volumeLISTGet volume InfoREADDelete volumeDELETECreate bucketREADCREATEList bucketLIST,READGet bucket infoREADREADDelete bucketREADDELETEList keyREADLIST,READWrite keyREADREADCREATE,WRITERead keyREADREADREADAlluxio 授权HDFS Ranger Service:Ozone Rang

22、er Service:Alluxio 授权由于 Ozone 和 Alluxio 分别是对象存储和文件存储,其 Ranger 的 Service 也是截然不同的,如果想要实现对用户有一致性的授权结果,可能就需要 Alluxio 与 Ozone 一方进行转换。方案一Ozone 适配并使用文件系统语意的 ranger,转换方式如下READ-READ WRITE-WRITECREATE-父级 WRITEDELETE-父级 WRITELIST-父级 READ.Ranger 认证时 Alluxio 转换并使用到对象Ranger由于文件系统只有 rwx 权限,没有诸如 DELETE、CREATE、LIST

23、的权限,标准的文件系统中,只要具有 w 和 x 权限,就可以进行 DELETE 和 CREATE 但是却无法区分上层到底是在执行创建相关操作还是删除相关操作,出现了信息漏斗,所以从文件系统转换为对象存储的可行性较低方案三通过一个 文件语意的 Service 认证将该权限转换为hdfs ranger 权限和 ozone Object 权限READ-READ,子目录对象有 LIST WRITE-WRITE,子目录对象有 CREATE,DELETE方案二Alluxio:/dir1(rwx)Volumevolume1.Bucketbucket1.Keydir1/rwHdfs ranger Servic

24、edir1/READ,CREATE,DELETE,.Alluxio 授权HDFS Ranger Service:Ozone Ranger Service:/volume1/bucket1/dir1dir1/bucket1volume1dir1/volume1bucket1dir1/Alluxio 授权Ozone Object Storagevolume1voluem2bucket2bucket3bucketbbucket3/volume1/bucket1/key1(rwx)/volume2/bucketa/key1(r_x)key1 READ,CREATE,DELETE,.key1 READ,

25、CREATE,DELETE,.bucketabucket1key1key2key1key3Volumevolume1volume2Bucketbucket1bucketaKeykey1key1rwr当采用方案三后,需要注意一个问题,也就是不同的 Volume 中可能出现同名的 Bucket,不同的 Bucket 中也可能会出现同名的 Key这就需要在转换的过程中将 Volume 和 Bucket 作为文件系统Path 的一部分,以保证每个 Ranger 中的 key 在转换成文件系统语意后是全局唯一的rootcentos/alluxio$bin/alluxio fs mounto3fs:/bucketa.volume2/on/(hdfs,capacity=-1B,used=-1B,not read-only,not shared,properties=)rootcentos/alluxio$bin/alluxio fs rm/key1/file1Hdfs ranger ServiceOzone ranger Servicebin/alluxio fs rm/key1-请求授权/volume2/bucketa/key1 wx 权限THANKS

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(3-5 腾讯 Alluxio 加速下一代大数据业务落地.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部