腾讯 COS

Slack Docker Pulls

本指南介绍如何将腾讯云对象存储配置为Alluxio的底层存储系统。 腾讯云对象存储(COS)是腾讯云为海量数据提供的分布式存储服务,可通过 HTTP/HTTPS 协议访问。 它可以存储海量数据,并具有无感带宽和容量扩展特性,是大数据计算和分析的理想数据池。

先决条件

Alluxio 以集群模式在多台计算机上运行,因此需要在这些计算机上部署其二进制软件包。

在将 COS 与 Alluxio 结合使用之前,要么创建一个新的存储桶,要么使用现有的存储桶。 此外,无论是创建新目录还是选择现有目录,都要确定要在该数据桶中使用的目录。 在本指南中,COS 存储桶的名称是 COS_BUCKET,存储桶内的目录是 COS_DATA,存储桶区域是 COS_REGION

基本设置

使用 挂载表操作 来增加一个新的挂载点, 指定Alluxio路径在其上创建挂载,指定COS的路径作为UFS URI。 密钥和配置选项也可以通过指定 --option 标志作为挂载命令的一部分来指定,如配置挂载点所述。

一个将cos://<COS_BUCKET>/<COS_DIRECTORY>挂载到/cos的示例命令:

bin/alluxio mount add --path /cos/ --ufs-uri cos://<COS_BUCKET>/<COS_DIRECTORY> \
  --option fs.cos.access.key=<COS_SECRET_ID> --option fs.cos.secret.key=<COS_SECRET_KEY> \
  --option fs.cos.region=<COS_REGION> --option fs.cos.app.id=<COS_APP_ID>

请注意,如果您想挂载COS bucket的根,请在bucket名称后面添加一个斜杠(例如cos://COS_BUCKET/).

高级设置

请注意,配置选项可以指定为mount选项,也可以作为conf/alluxio-site.properties中的配置属性。 以下部分将介绍如何将配置设置为属性,但也可以通过 --option <key>=<value> 将它们设置为挂载选项。

COS 多段上传

默认的上传方法是一次性从头到尾上传一个文件。 我们使用多段上传方法将一个文件分成多个段上传,每个段都将在一个线程中上传。 上传时不会生成任何临时文件。

要启用 COS 多段上传,需要修改 conf/alluxio-site.properties,加入以下内容:

alluxio.underfs.cos.multipart.upload.enabled=true

您还可以在 conf/alluxio-site.properties 中指定其他参数,以使程序更快更好地运行。

# 使用分片上传时,上传分片的超时时间。
alluxio.underfs.object.store.multipart.upload.timeout
# COS 分片上传的线程池大小。
alluxio.underfs.cos.multipart.upload.threads
# COS 分片上传的分区大小。默认分区大小为 64MB。
alluxio.underfs.cos.multipart.upload.partition.size