You need to enable JavaScript to run this app.
导航

访问数据湖实例

最近更新时间2024.03.07 17:30:14

首次发布时间2022.12.05 17:37:59

数据湖场景(即 ACC 模式)的文件存储实例支持原生 TOS 和部分 HDFS 语义,主要用于数据湖分析场景和机器学习场景。本文为您介绍如何创建、挂载 ACC 模式的文件存储实例,并使用 FUSE 协议访问文件存储实例。

前提条件

  • 已完成火山引擎企业实名认证,并授权大数据文件存储访问其他服务的权限。更多信息,请参见跨服务授权
  • 已购买 Debian 操作系统的 ECS 实例。如何购买,请参见购买云服务器

    说明

    购买的 ECS 实例所属的网络环境必须和需要挂载的文件存储系统保持一致,否则无法访问 CloudFS。

步骤一:创建文件存储

  1. 登录大数据文件存储控制台

  2. 在顶部菜单栏选择目标地域。

  3. 在左侧导航栏选择文件存储列表,然后单击创建文件存储

  4. 创建文件存储页面,配置数据湖场景实例的相关信息。
    图片

    配置

    说明

    计费类型

    目前仅支持按量计费类型。
    目前数据湖场景实例处于公测期间。如需了解产品计费的详细信息,请参见产品计费

    文件存储名称

    自定义文件存储实例的名称。

    • 全局唯一且不能为空字符串。
    • 支持英文字母、数字和短横线(-)组合,只能以字母开头。
    • 长度为 2~36 个字符。

    区域

    目前大数据文件存储服务仅在华北2(北京)地域开放。

    可用区

    选择文件存储实例所处的可用区。

    应用场景

    此处选择数据湖场景,以创建一个支持原生 TOS 和部分 HDFS 语义的,用于数据湖分析场景和机器学习场景的文件存储实例。
    如需了解文件存储场景实例如何创建和访问,请参见访问文件存储实例

    对象存储来源

    支持选择当前账号下的存储桶,也支持选择其他账号下的存储桶,请根据实际情况选择。

    本账号的对象存储

    • TOS 对象存储:从下拉列表中选择存储桶。如果没有可用的存储桶,可以单击创建桶,然后创建存储桶。详细操作,请参见创建存储桶
    • 文件存储前缀:支持将 TOS 的子路径挂载到文件存储实例。非必填项,可为空,为空时表示挂载全部路径;填写时不得以左斜线(/)开头,需要以左斜线(/)结尾,如prefix/
      示例: TOS 路径为tos://tos-doctest/prefix,配置的文件存储前缀可以为prefix/。此时访问 CFS 实例的根目录就等同于访问 TOS 的 prefix/;访问 CFS 实例的/test,就等于 TOS 的prefix/test

    其他账号的对象存储

    • TOS 所属账号 ID:设置其他账号的账号 ID。
    • TOS 对象存储:需要手动输入其他账号下的的 TOS Bucket 名称。
    • 文件夹路径:支持将 TOS 的子路径挂载到文件存储实例。非必填项,可为空,为空时表示挂载全部路径;填写时不得以左斜线(/)开头,需要以左斜线(/)结尾,如prefix/
      示例: TOS 路径为tos://tos-doctest/prefix,配置的文件存储前缀可以为prefix/。此时访问 CFS 实例的根目录就等同于访问 TOS 的 prefix/;访问 CFS 实例的/test,就等于 TOS 的prefix/test
    • 访问秘钥:从其他账号下选择 TOS 时,需要填写与该账号匹配的 Access Key ID 和 Secret Access Key。只有设置与账号 ID 匹配的访问秘钥后,才可以通过鉴权认证,添加 TOS。
      如何获取账号的访问秘钥,请参见密钥管理

    缓存加速

    数据湖场景实例默认开启缓存加速,且不能关闭。

    类型

    选择加速基线,提供 200MB/s/TiB400MB/s/TiB 两种类型的加速基线。
    假设选择购买 200MB/s/TiB 的基线,表示每 TiB 容量可用带宽为 200MB/s。

    容量

    请按照业务缓存需求设置文件存储实例的缓存容量,起步 10 TiB,步长 5 TiB。

    说明

    数据湖场景实例处于公测期间,缓存加速容量空间不能大于 50 TiB。如果需要更大的缓存容量空间,请提交工单申请。

    私有网络

    从下拉列表中选择 VPC。
    如果没有可用 VPC,可以单击创建私有网络,然后创建私有网络。详细操作,请参见创建 VPC

    子网

    在下拉列表中选择子网。
    如果没有可用的子网,可以单击创建子网,然后创建子网。详细操作,请参见创建子网
    如果选中勾选后支持该私有网络下所有子网访问,则表示在关联 VPC 内所有子网都可以访问您创建的实例。

    安全组

    从下拉列表中选择安全组。
    如果没有可用的安全组,可以单击创建安全组,然后创建安全组。详细操作,请参见创建安全组

  5. 文件存储实例配置填写完成后,单击页面右下角的确认订单

  6. 在订单详情页确认订单信息,确认无误后,阅读并勾选大数据文件存储相关协议。然后单击立即购买

  7. 创建成功后,单击返回文件存储列表,查看文件存储基本信息。
    刚创建的文件存储实例显示为创建中,创建完成后显示为运行中。可以查看文件存储状态,缓存加速配置、应用场景、创建时间等信息。
    图片

步骤二:获取挂载点信息

挂载点是文件存储实例在网络环境中的连接点,通过挂载点连接实例并实现数据传输。

  1. 文件存储列表页面,单击目标文件存储实例的名称,进入详情页面。
  2. 详情页签下,找到挂载点信息并单击复制按钮,即可获取完整的挂载地址。
    图片

挂载文件存储

  1. 连接 ECS 实例。连接方式请参见连接 ECS 实例
  2. 安装libfuse3

veLinux/Debian(>=9)/Ubuntu(>=20.0) 可以通过apt直接安装,其他系统可以通过libfuse 源码编译

sudo apt-get update
sudo apt-get install fuse3
  1. 获取 FUSE 二进制。

    1. 下载 FUSE 压缩包。

      wget https://cloudfs.tos-cn-beijing.volces.com/sdk/cloudfs-client-1.5.0-hotfix.48.tar.gz
      
    2. 创建文件夹,然后将压缩包解压到该文件夹。

      # 创建文件夹
      mkdir cloudfs-client
      
      # 解压 FUSE 压缩包。
      tar -zxvf cloudfs-client-1.5.0-hotfix.48.tar.gz -C cloudfs-client
      
    3. 进入文件夹,查看文件。

      # 进入文件夹。
      cd cloudfs-client
      

      主要文件结构如下:

      cloudfs-client
      |-cloudfs-client-1.5.0-hotfix.48
        |- bin
        |  |- cloudfs-fuse
        |  |- cfs-fuse
        |
        |- conf
        |  |- cloudfs-fuse.conf
        |
        |- lib
        |  |- libcloudfs.so
      
    4. 配置cloudfs-fuse.conf配置文件。

      # CloudFS FUSE Configurations
      
      # CloudFS endpoint, e.g. cfs://testfs.cfs-cn-beijing.ivolces.com
      cfs.filesystem.uri=
      # HDFS or ACC
      cfs.filesystem.fs-mode=
      # Client network vpc&subnet info, e.g. 172.16.0.0/20
      cfs.client.network.segment=
      
      # IAM Auth info
      cfs.access.key=
      cfs.secret.key=
      
      # Required settings for ACC mode
      cfs.filesystem.ns-id=
      cfs.filesystem.ufs-path=
      

      参数

      说明

      cfs.filesystem.uri

      文件存储实例的挂载点。设置时需要在挂载点前添加前缀 cfs://。
      如何获取,请参见查看实例详情

      cfs.filesystem.fs-mode

      文件存储实例的类型,此处为数据湖模式,对应的类型为 ACC

      cfs.client.network.segment

      创建文件存储实例时所使用的子网的网段。
      您可在文件存储实例详情页面,单击子网名称,查看子网对应的网段。如何获取,请参见查看实例详情

      cfs.access.key

      创建文件存储实例时的账号的 Access Key ID,获取方式请参见密钥管理

      cfs.secret.key

      创建文件存储实例时的账号的 Secret Access Key,获取方式请参见密钥管理

      cfs.filesystem.ns-id

      文件存储实例挂载的存储桶的 Namespace ID(即 TosNamespace ID)。如何获取,请参见查看实例详情

      cfs.filesystem.ufs-path

      文件存储实例挂载的存储桶的完整存储地址,格式为tos://<存储桶名称>/<文件存储前缀>
      示例:tos://doctest/prefix/

  2. 创建一个挂载目录,然后挂载文件存储实例。

    # 创建挂载目录。
    mkdir /mnt/cfs
    
    # 挂载文件存储实例
    ./cloudfs-client-1.5.0-hotfix.48/bin/cloudfs-fuse mount /mnt/cfs --config-file cloudfs-client-1.5.0-hotfix.48/conf/cloudfs-fuse.conf
    

    文件实例挂载成功后,返回Mount CloudFS Success!提示信息。

访问文件存储实例

  1. 在挂载目录下创建文件夹,查看存储桶中是否生成对应的文件夹。

    mkdir dir
    

    图片

  2. 往文件夹中写入数据,并查看存储桶中是否生成对应的文件。

    echo 'hello world' > /mnt/cfs/dir/file
    

    图片

  3. 查看文件中的内容。

    cat /mnt/cfs/dir/file
    

    返回内容如下:

    hello world
    

卸载目录

umount /mnt/cfs

注意: 如果挂载点正在被访问,umount 可能会返回 “target is busy.” 错误信息