数据湖场景(即 ACC 模式)的文件存储实例支持原生 TOS 和部分 HDFS 语义,主要用于数据湖分析场景和机器学习场景。本文为您介绍如何创建、挂载 ACC 模式的文件存储实例,并使用 FUSE 协议访问文件存储实例。
说明
购买的 ECS 实例所属的网络环境必须和需要挂载的文件存储系统保持一致,否则无法访问 CloudFS。
登录大数据文件存储控制台。
在顶部菜单栏选择目标地域。
在左侧导航栏选择文件存储列表,然后单击创建文件存储。
在创建文件存储页面,配置数据湖场景实例的相关信息。
配置 | 说明 |
---|---|
计费类型 | 目前仅支持按量计费类型。 |
文件存储名称 | 自定义文件存储实例的名称。
|
区域 | 目前大数据文件存储服务仅在华北2(北京)地域开放。 |
可用区 | 选择文件存储实例所处的可用区。 |
应用场景 | 此处选择数据湖场景,以创建一个支持原生 TOS 和部分 HDFS 语义的,用于数据湖分析场景和机器学习场景的文件存储实例。 |
对象存储来源 | 支持选择当前账号下的存储桶,也支持选择其他账号下的存储桶,请根据实际情况选择。 |
本账号的对象存储
| |
其他账号的对象存储
| |
缓存加速 | 数据湖场景实例默认开启缓存加速,且不能关闭。 |
类型 | 选择加速基线,提供性能1型和性能2型两种类型的加速基线。 |
容量 | 请按照业务缓存需求设置文件存储实例的缓存容量,起步 10 TiB,步长 5 TiB。 说明 数据湖场景实例处于公测期间,缓存加速容量空间不能大于 50 TiB。如果需要更大的缓存容量空间,请提交工单申请。 |
私有网络 | 从下拉列表中选择 VPC。 |
子网 | 在下拉列表中选择子网。 |
安全组 | 从下拉列表中选择安全组。 |
文件存储实例配置填写完成后,单击页面右下角的确认订单。
在订单详情页确认订单信息,确认无误后,阅读并勾选大数据文件存储相关协议。然后单击立即购买。
创建成功后,单击返回文件存储列表,查看文件存储基本信息。
刚创建的文件存储实例显示为创建中,创建完成后显示为运行中。可以查看文件存储状态,缓存加速配置、应用场景、创建时间等信息。
挂载点是文件存储实例在网络环境中的连接点,通过挂载点连接实例并实现数据传输。
veLinux/Debian(>=9)/Ubuntu(>=20.0) 可以通过apt直接安装,其他系统可以通过libfuse 源码编译
sudo apt-get update sudo apt-get install fuse3
获取 FUSE 二进制。
下载 FUSE 压缩包。
wget https://cloudfs.tos-cn-beijing.volces.com/sdk/prod/cloudfs-client-1.5.3.49.tar.gz
创建文件夹,然后将压缩包解压到该文件夹。
# 解压 FUSE 压缩包。 tar -zxvf cloudfs-client-1.5.3.49.tar.gz
进入文件夹,查看文件。
# 进入文件夹。 cd cloudfs-client
主要文件结构如下:
cloudfs-client/ ├── bin │ ├── cfs │ ├── cfs-fuse │ ├── cloudfs-fuse │ └── csi ├── conf │ └── cloudfs-fuse.conf.template ├── include │ └── cloudfs.h ├── lib │ └── libcloudfs.so └── versions └── CLOUDFSSDK_VERSION
配置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 | 文件存储实例挂载的存储桶的完整存储地址,格式为 |
创建一个挂载目录,然后挂载文件存储实例。
# 创建挂载目录。 mkdir /mnt/cfs # 挂载文件存储实例 ./bin/cloudfs-fuse mount /mnt/cfs --config-file conf/cloudfs-fuse.conf
文件实例挂载成功后,返回Mount CloudFS Success!
提示信息。
在挂载目录下创建文件夹,查看存储桶中是否生成对应的文件夹。
mkdir dir
往文件夹中写入数据,并查看存储桶中是否生成对应的文件。
echo 'hello world' > /mnt/cfs/dir/file
查看文件中的内容。
cat /mnt/cfs/dir/file
返回内容如下:
hello world
umount /mnt/cfs
注意: 如果挂载点正在被访问,umount 可能会返回 “target is busy.” 错误信息