Skip to main content

依赖 CubeFS 运行

AutoMQ 使用 EBS 和 S3 存储,而 CubeFS 支持 POSIX 和 S3 访问协议,因此适合作为 AutoMQ 的存储后端。以下是基于 CubeFS 部署 AutoMQ 的指南。

前置条件

配置 WAL

  1. 参考 CubeFS 官方文档关于挂载裸设备指引,请参考: https://www.cubefs.io/zh/docs/master/user-guide/file.html

  2. 建议将裸设备路径配置为/dev/vdb。

  3. 通过 CubeFS 官方文档了解如何使用 FUSE 来绕过文件系统,直接向裸设备写入数据。详细信息请参考 CubeFS 官方文档。

  4. AutoMQ 使用裸设备存储 WAL 数据到指定路径。可以通过启动参数 --override s3.wal.path=/dev/vdb 来配置。

配置 S3URL

为 CubeFS 创建用户


curl -H "Content-Type:application/json" -X POST --data '{"id":"automq","pwd":"12345","type":3}' "http://172.16.1.101:17010/user/create"

创建的用户默认拥有完整的 AutoMQ 所需权限。如需配置最小权限,请参考 CubeFS 官方文档进行自定义设置。执行以上命令后的结果如下:


{
"code":0,
"msg":"success",
"data":{
"user_id":"automq",
"access_key":"AEv7EVirKDJtfyK5",
"secret_key":"fIW2OvamdKnP1XQcY0dwKzKFzNNXv5r6",
"policy":
{
"own_vols":[],
"authorized_vols":{}
},
"user_type":3,
"create_time":"2024-05-16 16:56:13",
"description":"",
"EMPTY":false
}
}

为 CubeFS 创建 Bucket

  1. 可以通过设置环境变量来配置 AWS CLI 需要的 Access Key 和 Secret Key。

export AWS_ACCESS_KEY_ID=AEv7EVirKDJtfyK5
export AWS_SECRET_ACCESS_KEY=fIW2OvamdKnP1XQcY0dwKzKFzNNXv5r6

  1. 使用 AWS CLI 创建 S3 存储桶。

aws s3api create-bucket --bucket automq-data --endpoint=http://10.1.0.240:17410

部署 AutoMQ

本文为你提供了生成 S3URL 所需的必要参数,它们如下所示:

参数名
本例默认值
说明
--s3-access-key
AEv7EVirKDJtfyK5
创建 CubeFS 用户后,记得按照实际情况进行替换
--s3-secret-key
fIW2OvamdKnP1XQcY0dwKzKFzNNXv5r6
创建 CubeFS 用户后,记得按照实际情况进行替换
--s3-region
us-west-2
该参数在 CubeFS 中无效,可以设置为任意值,例如 us-west-2
--s3-endpoint
http://10.1.0.240:17410
该参数是 CubeFS 对象网关对外服务的地址,如果有多台机器,推荐使用负载均衡器(SLB)来汇聚成一个 IP 地址。
--s3-data-bucket
automq-data
-
--s3-ops-bucket
automq-ops
-

完成 WAL 和 S3URL 配置后,现在可以部署 AutoMQ。请按照在 Linux 主机上以集群方式部署▸进行操作。