挂载点是文件存储实例在网络环境中的连接点,通过挂载点连接实例并实现数据传输。本文介绍如何挂载文件存储实例。
在访问文件存储实例前,你需要将文件存储实例的挂载点配置到 Hadoop 的配置文件中。
wget https://cloudfs.tos-cn-beijing.volces.com/sdk/prod/cloudfs-client-1.5.3.47.tar.gz
tar -zxvf cloudfs-client-1.5.3.47.tar.gz
将解压文件cloudfs-client/lib/cloudfs-sdk-1.5.3.47.jar
复制到 Hadoop 的share/hadoop/hdfs
目录下。
配置core-site.xml
文件。
core-site.xml
文件:vim {hadoop_安装目录}/hadoop/conf/core-site.xml
<!-- 填入文件存储的挂载点信息,例如 --> <property> <name>fs.defaultFS</name> <value>cfs://xxxx.cfs-cn-beijing.ivolces.com</value> </property> <property> <name>fs.cfs.impl</name> <value>com.volcengine.cloudfs.fs.CfsFileSystem</value> </property> <property> <name>fs.AbstractFileSystem.cfs.impl</name> <value>com.volcengine.cloudfs.fs.CFS</value> </property> <property> <name>cfs.access.key</name> <value>AKxxxxxxxxxxx</value> </property> <property> <name>cfs.secret.key</name> <value>SKxxxxxxxxxxx</value> </property> <!-- 可选:如果使用的是 STS Token,需要填写 --> <property> <name>cfs.security.token</name> <value>STSTokenxxxxxxxx</value> </property> <!-- 可选:如果开启缓存加速,需要配置缓存加速接入的 VPC 的网段 --> <property> <name>cfs.client.network.segment</name> <value><VPC 网段,例如 192.168.0.0/16></value> </property>
其中:
<name>fs.defaultFS</name>
的值是大数据文件存储实例的挂载点地址,请根据实际情况替换。<name>cfs.access.key</name>
和<name>cfs.secret.key</name>
的值分别是火山引擎账号的 Access Key ID 和 Secret Access Key,获取方式请参考密钥管理。验证文件存储实例是否部署成功。
hdfs dfs -ls /
命令,有文件结果返回表示部署成功。echo $?
命令,返回0
表示部署成功。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.47.tar.gz
创建文件夹,然后将压缩包解压到该文件夹。
# 解压 FUSE 压缩包。 tar -zxvf cloudfs-client-1.5.3.47.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!
提示信息。