Alluxio
ProductsLanguageHome
  • Alluxio概览
  • 用户指南
    • 快速上手指南
    • 架构
    • FAQ
    • 作业服务器
    • 应用场景
  • 核心功能
    • 缓存
    • 统一命名空间
  • 部署 Alluxio
    • 在Kubernetes上部署Alluxio
    • 本地运行Alluxio
    • 在集群上独立运行Alluxio
    • 在Docker上运行Alluxio
    • 在具有HA的群集上部署Alluxio
    • 使用Docker部署AlluxioFuse加速深度学习训练(试验)
    • 基本要求
  • 云源生
    • Tencent EMR
  • 计算应用
    • Apache Spark
    • Presto
    • Spark on Kubernetes
    • Apache Flink
    • Apache Hadoop MapReduce
    • Presto on Iceberg (Experimental)
    • Trino
    • Apache Hive
    • 深度学习框架
    • Tensorflow
  • 底层存储系统
    • Alluxio集成Amazon AWS S3作为底层存储
    • Alluxio集成GCS作为底层存储
    • Alluxio集成Azure Blob Store作为底层存储
    • Azure Data Lake Storage Gen2
    • Azure 数据湖存储
    • Alluxio集成HDFS作为底层存储
    • Alluxio集成COS作为底层存储
    • Alluxio集成COSN作为底层存储
    • Alluxio集成Ceph Object Storage作为底层存储
    • Alluxio集成NFS作为底层存储
    • Alluxio集成Kodo作为底层存储
    • Alluxio集成Swift作为底层存储
    • Alluxio集成WEB作为底层存储
    • Alluxio集成Minio作为底层存储
    • 阿里云对象存储服务
    • Alluxio集成Ozone作为底层存储
    • Alluxio集成CephFS作为底层存储
  • 安全设置
    • 安全性
  • 运维指南
    • 配置项设置
    • 命令行接口
    • 管理员命令行接口
    • Web界面
    • 日志
    • 度量指标系统
    • 远程记录日志
  • 管理
    • 升级
    • 异常诊断与调试
  • APIs
    • Filesystem API
    • S3 Client
    • POSIX API
    • REST API
    • Python Client
    • 兼容Hadoop的Java
    • Go 客户端
  • 开发者资源
    • 编译Alluxio源代码
    • 开发指南
    • 代码规范
    • 如何开发单元测试
    • 文档规范
  • 参考
    • 配置项列表
    • List of Metrics
  • REST API
    • Master REST API
    • Worker REST API
    • Proxy REST API
    • Job REST API
  • Javadoc
Powered by GitBook
On this page
  • 初始步骤
  • 配置Alluxio
  • 嵌套挂载点
  • 使用GCS本地运行Alluxio
  • GCS访问控制
  • GCS用户到Alluxio文件所有者的映射关系
  • GCS ACL到Alluxio权限的映射关系
  • 挂载点共享
  • 权限更改
  1. 底层存储系统

Alluxio集成GCS作为底层存储

Last updated 6 months ago

该指南介绍如何配置Alluxio以使用作为底层文件系统。

初始步骤

首先,在你的机器上必须安装Alluxio二进制包。你可以自己,或者

而且,为了在Alluxio上使用GCS, 需要创建一个bucket(或者使用一个已有的bucket)。你应该注意你在这个bucket里准备使用的目录,你可以自己在这个bucket里面创建一个新目录,或者使用一个已有的目录。在这个指南中,我们将GCS bucket取名为GCS_BUCKET,bucket中的目录取名为GCS_DIRECTORY。

如果想要了解更多关于GCS的信息,请阅读它的。

配置Alluxio

你需要通过修改conf/alluxio-site.properties文件配置Alluxio以使用底层文件系统。如果该文件不存在,根据模板创建新的配置文件。

cp conf/alluxio-site.properties.template conf/alluxio-site.properties

你需要配置Alluxio,以使用GCS作为其底层文件系统。第一个需要修改的地方就是指定一个已有的bucket以及bucket中的目录作为底层文件系统。你可以通过向conf/alluxio-site.properties文件添加以下代码来指定:

alluxio.master.mount.table.root.ufs=gs://GCS_BUCKET/GCS_DIRECTORY

接下来,你需要指定Google证书来接入GCS。在conf/alluxio-site.properties文件中添加:

fs.gcs.accessKeyId=<GCS_ACCESS_KEY_ID>
fs.gcs.secretAccessKey=<GCS_SECRET_ACCESS_KEY>

在这里 <GCS_ACCESS_KEY_ID> 和 <GCS_SECRET_ACCESS_KEY>应该用你的 来替换,或者用其他包含你的证书的环境变量来替换。

注意: GCS的可互操作性默认是未启用的。请在 中点击可互操作按键来启用可互操作性。然后点击创建一个新的key来获得the Access Key和Secret pair.

执行完以上步骤后,Alluxio应该已经配置GCS作为其底层文件系统,然后你可以尝试.

嵌套挂载点

首先,在conf/alluxio-site.properties中,指定master主机:

alluxio.master.hostname=localhost

然后,挂载GCS:

$ ./bin/alluxio fs mount \
  --option fs.gcs.accessKeyId=<GCS_ACCESS_KEY_ID> \
  --option fs.gcs.secretAccessKey=<GCS_SECRET_ACCESS_KEY> \
  /gcs gs://GCS_BUCKET/GCS_DIRECTORY

使用GCS本地运行Alluxio

完成所有的配置之后,你可以本地运行Alluxio,观察是否一切运行正常。

$ ./bin/alluxio format
$ ./bin/alluxio-start.sh local SudoMount

接着,你可以运行一个简单的示例程序:

$ ./bin/alluxio runTests

运行成功后,访问你的GCS目录GCS_BUCKET/GCS_DIRECTORY,确认其中包含了由Alluxio创建的文件和目录。在该测试中,创建的文件名称应像下面这样:

GCS_BUCKET/GCS_DIRECTORY/alluxio/data/default_tests_files/Basic_CACHE_THROUGH

运行以下命令停止Alluxio:

$ ./bin/alluxio-stop.sh local

GCS访问控制

如果Alluxio安全认证被启用,Alluxio将会遵循底层对象存储的访问权限控制。

在Alluxio配置中指定的GCS证书代表一个GCS用户,GCS服务终端会在用户试图访问bucket和对象时检查其权限,如果该GCS用户没有访问该bucket的权限,将会抛出一个权限错误。Alluxio在第一次将元数据从底层GCS加载到Alluxio命名空间时,便会同时将其bucket的ACL也加载到Alluxio权限管理元数据中。

GCS用户到Alluxio文件所有者的映射关系

GCS ACL到Alluxio权限的映射关系

Alluxio通过检查GCS bucket的读写ACL来确定Alluxio文件的权限。举例来说,如果某个GCS用户对一个底层bucket具有只读权限,在Alluxio中该挂载的目录以及文件的权限模式将为0500,如果该GCS用户具有所有权限,那么权限模式将为0700。

挂载点共享

如果你想在Alluxio命名空间中与其他用户共享GCS挂载点,可以启用alluxio.underfs.object.store.mount.shared.publicly。

权限更改

注意,对Alluxio目录或者文件运行chown/chgrp/chmod等命令不会对底层GCS bucket或者对象的权限做出更改。

可以将GCS存储路径挂载到Alluxio命名空间中的一个嵌套目录,以便允许统一访问 多个底层存储系统。 可用Alluxio的来实现。

该命令应当会启动一个Alluxio master和一个Alluxio worker,可以在浏览器中访问查看master Web UI。

默认情况下, Alluxio会尝试从证书中解析其GCS用户id。另外,可以配置alluxio.underfs.gcs.owner.id.to.username.mapping从而指定某个GCS用户id到Alluxio用户名的映射关系,其配置形式为"id1=user1;id2=user2"。谷歌云存储ID可以在找到,请使用"Owners"这一项。

命令行界面
http://localhost:19999
该控制台地址
Google Cloud Storage
编译Alluxio
下载二进制包
文档
GCS可互操作存储的access keys
GCS 设置
使用GCS本地运行Alluxio