Skip to main content

依赖 CEPH 运行

AutoMQ 依赖 S3 存储,而 CEPH 支持 S3 访问协议,因此适合作为 AutoMQ 的存储后端。以下是基于 CEPH 部署 AutoMQ 的指南。

前置条件

创建用户和 Bucket

创建 CEPH 用户


radosgw-admin user create --uid="automq" --display-name="automq"

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


{
"user_id": "automq",
"display_name": "automq",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"subusers": [],
"keys": [
{
"user": "automq",
"access_key": "X1J0E1EC3KZMQUZCVHED",
"secret_key": "Hihmu8nIDN1F7wshByig0dwQ235a0WAeUvAEiWSD"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "",
"default_storage_class": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"temp_url_keys": [],
"type": "rgw",
"mfa_ids": []
}

创建 CEPH Bucket

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

export AWS_ACCESS_KEY_ID=X1J0E1EC3KZMQUZCVHED
export AWS_SECRET_ACCESS_KEY=Hihmu8nIDN1F7wshByig0dwQ235a0WAeUvAEiWSD

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

aws s3api create-bucket --bucket automq-data --endpoint=http://127.0.0.1:80

获取配置信息

在完成用户和 Bucket 创建后,即可收集必要的配置信息,用于部署 AutoMQ。

参数名
本例默认值
说明
KAFKA_S3_ACCESS_KEY
X1J0E1EC3KZMQUZCVHED
创建 Ceph 用户后,按照实际情况进行替换。
KAFKA_S3_SECRET_KEY
Hihmu8nIDN1F7wshByig0dwQ235a0WAeUvAEiWSD
创建 Ceph 用户后,按照实际情况进行替换。
region
us-west-2
该参数在 Ceph 中无效,可以设置为任意值,例如 us-west-2。
endpoint
http://127.0.0.1:80
该参数是 Ceph 的 S3 兼容组件 RGW 对外服务的地址,如果有多台机器,推荐使用负载均衡器(SLB)来汇聚成一个 IP 地址。
data-bucket
automq-data
设置消息存储的 bucket。
ops-bucket
automq-ops
设置运维数据存储的 bucket。

部署 AutoMQ

请参照如下文档,部署 AutoMQ: