S3 兼容存储
Alluxio 可以连接到各种提供 S3 兼容接口的存储系统,例如 MinIO、Ceph 等。本指南介绍了如何配置 Alluxio 以将这些存储系统挂载为底层文件系统 (UFS)。
连接到 S3 兼容存储与连接到 AWS S3 的主要区别在于需要指定自定义端点。
先决条件
Alluxio 已安装并正在运行。有关详细信息,请参阅先决条件。
S3 兼容存储服务正在运行,并且可以从 Alluxio 集群访问。
您拥有 S3 兼容存储的以下信息:
端点 URL:S3 服务正在侦听的地址(例如
http://minio.example.com:9000
)。访问密钥 ID 和秘密访问密钥:用于访问存储的凭据。
存储桶名称:要挂载的存储桶的名称。
基本配置
指定存储端点
使用非 AWS S3 兼容存储时,您必须将 Alluxio 配置为使用自定义端点。否则,Alluxio 将默认为 AWS 全局 S3 服务端点。
alluxio.underfs.s3.endpoint=<S3_ENDPOINT>
alluxio.underfs.s3.endpoint.region=<S3_ENDPOINT_REGION>
如果没有要设置的端点区域,可以通过省略该属性来不指定。请注意,设置端点后,alluxio.underfs.s3.region=<S3_REGION>
将不再生效。
禁用 DNS 存储桶 URL 以进行路径样式访问
默认情况下,构造的请求 URL 将符合虚拟托管样式访问。如果存储需要路径样式访问请求,则需要设置以下配置。
alluxio.underfs.s3.disable.dns.buckets=true
支持的存储提供商
已知以下存储提供商支持 Alluxio 的 S3 集成。请注意,此列表并非详尽无遗——其他 S3 兼容系统也可能通过适当的配置工作。
MinIO
MinIO 是用于本地部署的对象存储解决方案。
alluxio.underfs.s3.endpoint=<S3_ENDPOINT>
alluxio.underfs.s3.endpoint.region=<S3_ENDPOINT_REGION>
s3a.accessKeyId=<ACCESS_KEY_ID>
s3a.secretKey=<SECRET_KEY>
alluxio.underfs.s3.disable.dns.buckets=true
alluxio.underfs.s3.inherit.acl=false
端点地址通常采用 http://<minioServerHostname>:<port>
的形式,例如 http://127.0.0.1:9000
。如果创建存储桶时未指定区域,则可以通过省略该属性来不指定端点区域。
Oracle 云基础设施 (OCI) 对象存储
OCI 对象存储 是 Oracle 提供的对象存储服务。
alluxio.underfs.s3.endpoint=<S3_ENDPOINT>
alluxio.underfs.s3.endpoint.region=<S3_ENDPOINT_REGION>
s3a.accessKeyId=<ACCESS_KEY_ID>
s3a.secretKey=<SECRET_KEY>
alluxio.underfs.s3.disable.dns.buckets=true
alluxio.underfs.s3.inherit.acl=false
Tigris 数据
Tigris 是 Tigris 数据提供的对象存储服务。
alluxio.underfs.s3.endpoint=<S3_ENDPOINT>
alluxio.underfs.s3.endpoint.region=<S3_ENDPOINT_REGION>
s3a.accessKeyId=<ACCESS_KEY_ID>
s3a.secretKey=<SECRET_KEY>
alluxio.underfs.s3.disable.dns.buckets=true
alluxio.underfs.s3.inherit.acl=false
例如,开发存储桶使用端点 https://fly.storage.tigris.dev
,并且可以通过省略该属性来不指定端点区域。
Last updated