本指南介绍如何将阿里云对象存储服务配置为 Alluxio 的底层存储系统。
阿里云对象存储服务(OSS)是阿里云提供的海量、安全、高可靠的云存储服务。OSS 提供多种存储类别,帮助您管理和降低存储成本。
有关阿里云对象存储服务的更多信息,请阅读其文档。
在开始配置前,请确保已准备好以下所需信息:
使用 挂载表操作 来增加一个新的挂载点, 需指定要在其上创建挂载的 Alluxio 路径,以及作为 UFS URI 的 OSS 路径。
在挂载操作中,也可以指定凭证和配置选项,具体方法请参见配置挂载点。
以下是一个通过 Operator 创建挂载点的 ufs.yaml 文件示例:
apiVersion: k8s-operator.alluxio.com/v1
kind: UnderFileSystem
metadata:
name: alluxio-oss
namespace: alx-ns
spec:
alluxioCluster: alluxio-cluster
path: oss://<OSS_BUCKET>/<OSS_DIRECTORY>
mountPath: /oss
mountOptions:
fs.oss.accessKeyId: <OSS_ACCESS_KEY>
fs.oss.accessKeySecret: <OSS_ACCESS_KEY_SECRET>
fs.oss.endpoint: <OSS_ENDPOINT>
如果不使用 Operator,可以通过以下命令将 oss://<OSS_BUCKET>/<OSS_DIRECTORY> 挂载到 /oss :
请注意,如果要挂载OSS bucket的根目录,请在bucket名称后面添加一个斜杠(例如oss://OSS_BUCKET/).
请注意,配置选项可以指定为挂载选项,也可以作为conf/alluxio-site.properties中的配置属性。
以下章节将介绍如何将配置作为属性来设置,但这些配置也可以通过 --option <key>=<value> 的方式作为挂载选项来设置。
要启用 HTTPS 协议来实现与OSS的安全通信,并为数据传输提供额外的安全层,请在 conf/alluxio-site.properties 文件中配置以下设置:
[实验性] OSS 多部分上传
默认的上传方法是一次性从头到尾上传一个文件。我们使用多部分上传方法分多个部分上传一个文件,每个部分都将在一个线程中上传。上传时不会生成任何临时文件。
要启用 OSS 多部分上传,需要修改 conf/alluxio-site.properties,将以下内容包括在内:
还可以在 conf/alluxio-site.properties 中指定其他参数,以加速程序运行。
在访问底层存储系统(UFS)时,可能会因服务器暂时无法响应而出现错误。此时,可以为 UFS 请求配置重试策略。
每一个发往UnderFS的I/O请求,例如下载对象(getObject)、上传对象(putObject)、多段上传(MultipartUpload), Alluxio 都会检查响应结果。
如果响应是一个错误,并且错误代码表明可以重试,则将根据配置中的重试策略重新提交请求。Alluxio 将会持续重试直到请求成功或者达到了重试的最大次数。
连续的成功重试间的等待间隔时间将会逐步从配置的基础休眠时间增长到最大休眠时间。
以下错误码被归类为可重试错误码:500 HTTP_INTERNAL_ERROR,502 HTTP_BAD_GATEWAY,503 HTTP_UNAVAILABLE,503 Slow Down,和 504 HTTP_GATEWAY_TIMEOUT。
注意:
4xx 错误码 通常代表客户端错误,比如:NOT_FOUND,PERMISSION_DENIED,UNAUTHENTICATED等等。此类错误不应重试,因为问题出在客户端。
5xx 错误码 通常代表服务端错误,但并不是所有的 5xx 错误都需要重试。比如 501 HTTP_NOT_IMPLEMENTED 就不应重试。
如需设置 UFS 访问请求的重试策略,需要修改 conf/alluxio-site.properties 文件,添加以下内容:
Last updated