Alluxio集成Ceph Object Storage作为底层存储
该指南介绍如何配置Alluxio以使用Ceph Object Storage作为底层文件系统。Alluxio使用Rados Gateway 支持两种不同的客户端API连接Ceph Object Storage:
S3 (推荐使用)
初始步骤
首先,在你的机器上必须安装Alluxio二进制包。你可以自己编译Alluxio,或者下载二进制包
配置Alluxio
为了配置Alluxio以使用底层文件系统,需要修改alluxio-site.properties
文件。如果该文件不存在,根据模板创建配置文件。
方法1: S3接口
向conf/alluxio-site.properties
文件添加以下代码:
如果使用Ceph的版本,比如hammer(或者更老的版本),指定alluxio.underfs.s3.signer.algorithm=S3SignerType
来使用v2版本的S3签名。 为了使用v1版本的GET Bucket(列出对象),指定alluxio.underfs.s3.list.objects.v1=true
。
方法2: Swift接口
向conf/alluxio-env.sh
文件添加以下代码:
其中,<swift-container>
是一个已经存在的Swift容器。
以下的配置需要配置在conf/alluxio-site.properties
中
<swift-use-public>
可能的值为true
,false
。如果使用本地的Ceph RGW认证,指定<swift-auth-model>
为swiftauth
。指定 <swift-auth-url>
为http://<rgw-hostname>:8090/auth/1.0
使用Ceph本地运行Alluxio
完成所有的配置之后,你可以本地运行Alluxio,观察是否一切运行正常。
该命令应当会启动一个Alluxio master和一个Alluxio worker,可以在浏览器中访问http://localhost:19999查看master Web UI。
接着,你可以运行一个简单的示例程序:
运行成功后,访问你的bucket/container目录,确认其中包含了由Alluxio创建的文件和目录。
如果使用S3连接器,创建的文件名称应像下面这样:
如果使用Swift连接器,创建的文件名称应像下面这样:
访问控制
如果Alluxio安全认证被启用,Alluxio将会遵循底层Ceph对象存储的访问权限控制,根据使用的接口,参考S3 Access Control 或者Swift Access Control获得更多信息。
Last updated