本指南介绍了如何将百度对象存储 (BOS)arrow-up-right 配置为 Alluxio 的底层存储系统。百度对象存储 (BOS) 提供稳定、安全、高效且高度可扩展的存储服务。
在使用 BOS 和 Alluxio 之前,请按照 BOS 入门流程arrow-up-right 注册 BOS 并创建一个 BOS 存储桶。
在开始之前,请确保您已具备下列所需信息:
您希望在存储桶中使用的目录,可以通过创建新目录或使用现有目录来实现
使用挂载表示例 添加新的挂载点,指定创建挂载的 Alluxio 路径和作为 UFS URI 的 BOS 路径。凭据和配置选项也可以作为挂载操作的一部分指定,如配置挂载点 中所述。
使用 operator 创建挂载点的 ufs.yaml 示例:
Copy apiVersion : k8s-operator.alluxio.com/v1
kind : UnderFileSystem
metadata :
name : alluxio-bos
namespace : alx-ns
spec :
alluxioCluster : alluxio-cluster
path : bos://<BOS_BUCKET>/<BOS_DIRECTORY>
mountPath : /bos
mountOptions :
fs.bos.accessKeyId : <BOS_ACCESS_KEY>
fs.bos.accessKeySecret : <BOS_ACCESS_KEY_SECRET>
fs.bos.endpoint : <BOS_ENDPOINT> 如果不使用 operator,将 bos://<BOS_BUCKET>/<BOS_DIRECTORY> 挂载到 /bos 的示例命令:
请注意,如果要挂载 BOS 存储桶的根目录,请在存储桶名称后添加一个尾随斜杠(例如 bos://BOS_BUCKET/)。
请注意,配置选项可以指定为挂载选项或 conf/alluxio-site.properties 中的配置属性。以下部分将介绍如何将配置设置为属性,但它们也可以通过 --option <key>=<value> 设置为挂载选项。
要启用 HTTPS 协议以与 BOS 进行安全通信,并为数据传输提供额外的安全层,请在 conf/alluxio-site.properties 中配置以下设置:
我们使用分段上传方法通过多个部分上传一个文件,每个部分将在一个线程中上传。上传时不会生成任何临时文件。
您可以在 conf/alluxio-site.properties 中指定其他参数,以可能加快上传速度。
禁用 BOS 分段上传,上传方法会一次性从头到尾完整上传一个文件。您需要修改 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 以包含:
将 Alluxio 与 BOS 集成时,您可以通过调整以下配置来优化性能:
alluxio.underfs.bos.connection.max:控制与 BOS 的最大连接数。默认值为 1024。
alluxio.underfs.bos.io.threads.num:控制与 BOS 的 IO 线程。默认值为 256。
alluxio.underfs.bos.socket.timeout:控制与 BOS 的套接字超时。默认值为 50 秒。
alluxio.underfs.bos.connect.timeout:控制与 BOS 的连接超时。默认值为 50 秒。
Last updated 5 months ago