tencent cloud

文档反馈

Alluxio 支持 COS 透明 URI

最后更新时间:2022-08-08 11:04:32

    Alluxio 用户通常具有通过现有应用程序访问其底层存储系统(Under-FileSystem),将 Alluxio 添加到现有的生态系统中需求,但现有应用程序必须更改是需要在应用程序使用 Alluxio 的 URI。透明 URI 功能允许用户访问现有存储系统,且无需在应用程序级别更改 URI。

    支持版本与配置 URI

    1. 服务组件支持版本:Alluxio2.8.0版本。
    2. 产品版本:Hadoop3.x 标准版本 EMR-V3.4.0 版本。
    3. 配置支持透明 URI。使用 Alluxio 透明 URI,需要配置新的 Hadoop 兼容文件系统客户端实现。只要将客户端配置为接收外部 URI,此新的 ShimFileSystem 就会替换现有的 FileSystem。Hadoop 兼容的计算框架--Hadoop FileSystem 接口定义了从 FileSystem 方案到 FileSystem 实现的映射。为了配置 ShimFileSystem,请确保 core-site.xml 中配置了以下配置项:
    配置项 配置项值
    fs.cosn.impl alluxio.hadoop.ShimFileSystem
    1. Alluxio 在兼容透明 URL Schema 时需要对其进行转换兼容,请确保 alluxio-site.properties 中配置了以下配置项:
    配置项 配置项值
    alluxio.master.uri.translator.impl alluxio.master.file.uritranslator.AutoMountUriTranslator
    alluxio.user.shimfs.bypass.ufs.impl.list fs.cosn.impl:org.apache.hadoop.fs.cosnative.NativeCosFileSystem
    说明:

    • 对 alluxio-site.properties 配置进行变更后需重启 Alluxio 服务。
    • 一旦配置了 ShimFileSystem,master 将需要将外部存储系统本地的 URI 路由到 Alluxio 名称空间。这要求 cosn 已 mount 在 Alluxio 名称空间中。
    • 关闭透明 URI 功能:只需回滚 core-site.xml中fs.cosn.impl 配置项。

    mount

    mount 命令可以说是 Alluxio 最有特色的命令之一。它类似于 Linux 里的 mount 命令---Linux 用户可以通过 Linux mount 把硬盘,SSD 等存储设备加载到这台 Linux 系统的本地文件系统中。而在 Alluxio 系统当中,mount 的概念进一步被扩展到了分布式系统一层:用户可以通过 Alluxio mount 把一个或多个其他的存储系统/云存储服务(例如 HDFS、COS 等), 挂载到 Alluxio 这个分布式文件系统当中去。从而运行在 Alluxio 上的分布式应用,例如 Spark、Presto 或者 MapReduce 等,不需要去适配甚至了解具体的数据访问协议和路径,而只需要知道数据对应在 Alluxio 文件系统的路径就已足够,从而极大的方便了应用的开发和维护。

    EMR-Alluxio 默认使用 hdfs 作为根目录挂载点

    在 EMR-Alluxio2.5.1+后,Alluxio 的 UFS 开始支持 COSN 协议,COS UFS 存在读写性能较差以及不稳定的问题,为了解决此类问题,社区贡献了 COSN UFS 底层文件系统。COS 和 COSN UFS 都是用于访问腾讯云对象存储,COSN 相对于 COS 做了深度优化,其读写性能较COS 成倍提升,同时带来了更好的稳定性,所以强烈推荐使用 COSN。COS UFS 将于 EMR-Alluxio2.6.0 版本后停止维护。
    Mount COSN 示例:

    alluxio fs mount --option fs.cosn.userinfo.secretId=xx \
          --option fs.cosn.userinfo.secretKey=xx \
          --option fs.cosn.bucket.region=ap-xx \
          --option fs.cosn.impl=org.apache.hadoop.fs.cosnative.NativeCosFileSystem \
          --option fs.AbstractFileSystem.cosn.impl=org.apache.hadoop.fs.CosN \
          --option fs.cosn.userinfo.appid=xx \
          /cosn cosn://COS_BUCKET/path
    

    其中,--options 中配置 COS 的配置。

    配置项名称 解释
    fs.cosn.userinfo.secretId cos scecret id
    fs.cosn.userinfo.secretKey cos secret key
    fs.cosn.impl 固定值:org.apache.hadoop.fs.CosFileSystem
    fs.AbstractFileSystem.cosn.impl 固定值:org.apache.hadoop.fs.CosN
    fs.cosn.bucket.region cos region 名称,例如 ap-beijing
    fs.cosn.userinfo.appid 用户主账号 AppID
    COS_BUCKET COS BUCKET 名称。只要名称,不要带 AppID 后缀
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持