本指南介绍了如何将 Alluxio 配置为使用 Google Cloud Storage (GCS) 作为底层存储系统。
Google Cloud Storage (GCS) 是 Google Cloud Platform (GCP) 提供的可扩展且持久的对象存储服务。它允许用户存储和检索各种类型的数据,包括非结构化和结构化数据。
有关 GCS 的更多信息,请阅读其文档。
在开始之前,请确保您已具备下列所需信息:
您希望在存储桶中使用的目录,可以通过创建新目录或使用现有目录来实现
默认的 GCS UFS 模块(GCS 版本 2)是基于 Google Cloud API 实现的,该 API 接受 Google 应用程序凭据。在创建应用程序凭据时可以定义细粒度的权限,以限制对特定存储桶的访问。
使用挂载表示例添加新的挂载点,指定创建挂载的 Alluxio 路径和作为 UFS URI 的 GCS 路径。凭据和配置选项也可以作为挂载操作的一部分指定,如配置挂载点中所述。
使用 operator 创建挂载点的 ufs.yaml 示例:
apiVersion: k8s-operator.alluxio.com/v1
kind: UnderFileSystem
metadata:
name: alluxio-gs
namespace: alx-ns
spec:
alluxioCluster: alluxio-cluster
path: gs://<GS_BUCKET>/<PATH>
mountPath: /gs
mountOptions:
fs.gcs.credential.path: /path/to/<google_application_credentials>.json
如果不使用 operator,使用 GCS v2 将 gs://<GCS_BUCKET>/<GCS_DIRECTORY> 挂载到 /gs 的示例命令:
此属性键 fs.gcs.credential.path 提供 Google 应用程序凭据 json 文件的路径。请注意,Google 应用程序凭据 json 文件应放置在所有 Alluxio 节点中的相同路径下。如果运行 Alluxio 进程的节点已包含 GCS 凭据,则可能不需要此属性,但始终建议显式设置此属性。
在 Kubernetes 环境中,凭据文件应作为秘密提供。请参阅如何将秘密添加为文件。
目录在 GCS 中表示为以指定后缀命名的零字节对象。可以使用配置参数 alluxio.underfs.gcs.directory.suffix 更新目录后缀。
如果启用了 Alluxio 安全性,Alluxio 将强制执行从底层对象存储继承的访问控制。
Alluxio 配置中指定的 GCS 凭据表示一个 GCS 用户。GCS 服务后端检查用户对存储桶和对象的权限以进行访问控制。如果给定的 GCS 用户没有对指定存储桶的访问权限,将引发权限被拒绝错误。启用 Alluxio 安全性后,当元数据首次加载到 Alluxio 命名空间时,Alluxio 会将存储桶 ACL 加载到 Alluxio。
从 GCS ACL 到 Alluxio 权限的映射
Alluxio 检查 GCS 存储桶的读/写 ACL 以确定所有者对 Alluxio 文件的权限模式。例如,如果 GCS 用户对底层存储桶具有只读访问权限,则挂载的目录和文件将具有 0500 模式。如果 GCS 用户对底层存储桶具有完全访问权限,则挂载的目录和文件将具有 0700 模式。
如果 Alluxio 集群位于公司代理或防火墙之后,Alluxio GCS 集成可能无法使用默认设置访问互联网。
在启动 Alluxio Coordinator和 worker 之前,将以下 java 选项添加到 conf/alluxio-env.sh。
http.nonProxyHosts 的一个示例值为 localhost|127.*|[::1]|192.168.0.0/16。
如果代理需要用户名和密码,请添加 http.proxyUser、https.proxyUser、http.proxyPassword 和 https.proxyPassword java 选项。
Last updated