Alluxio 简介
Alluxio 是一个基于内存的数据编排系统,通过将数据从存储层移动到计算节点附近,构建了数据驱动型应用和存储系统之间的桥梁,提供统一的访问接口。Alluxio 集群由 Masters、Workers、job Masters 和 job Workers 组成,其中 Masters 负责集群和元数据管理,Workers 负责数据块存储。
Alluxio Local Cache
Alluxio Local Cache 主要用于提升计算性能,通过在计算节点上缓存数据,减少对对象存储的直接读取,从而提高计算速度。主要分为两种形式:
- Presto Cluster + Alluxio Cluster:单独部署 Alluxio 集群,提供更大的缓存空间,但需要额外的机器和运维成本。
- Presto Cluster + Alluxio Local Cache:计算节点与缓存文件系统位于同一节点,无需额外资源,但缓存空间受限于计算节点。
性能测试显示,使用 Alluxio Local Cache 可以显著提升特定 SQL 查询的性能,例如 Q1、Q4、Q6 和 Q12,缓存空间越大,性能提升越明显。
Alluxio 自适应 URI
Alluxio 自适应 URI 解决了业务接入 Alluxio 后 URI 转换的问题,通过客户端进行 URI 转换,减少对业务方的入侵。此外,Alluxio 还支持故障时的自动 fallback 到 HDFS,以及根据路径配置不同的处理策略。压测结果显示,Alluxio 可以大幅优化计算存储分离,节省网络带宽 20%-50%,提升性能 5%-40%。
Alluxio 授权
Alluxio 支持基于 HDFS 的 Ranger Service 进行多模式认证,包括 Alluxio 命名空间认证、HDFS UFS 命名空间认证和混合嵌套挂载认证。当 Alluxio 作为 Ozone 的数据缓存层时,需要保证用户通过不同方式访问数据的一致性授权。通过文件语意的 Service 认证将权限转换为 HDFS Ranger 权限和 Ozone 对象权限,确保授权结果的一致性。