依赖 MinIO 运行
前置条件
配置 WAL
由于 MinIO 不支持块存储,AutoMQ 无法仅依赖 MinIO 提供高可靠的 Kafka 服务。建议在日志等场景下,考虑使用本地 SSD 替代分布式块存储。值得注意的是,如果本地 SSD 损坏,可能导致几秒钟的数据未能上传至 MinIO,从而导致最近几秒钟的数据丢失。
为了将 AutoMQ 的 Write-Ahead-Log(WAL)设置为本地 SSD 存储,你需要确保指定的文件路径在一个可用空间大于 10GB 的 SSD 盘上。
--override s3.wal.path=/home/admin/automq-wal
配置 S3URL
Access key 和 Secret Key 分别对应安装 MinIO 需要设置的环境变量 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD
你可以使用以下命令查询 endpoint,输出结果格式如下:
sudo systemctl status minio.service
API: http://10.1.0.240:9000 http://172.16.1.104:9000 http://172.16.1.103:9000 http://172.16.1.102:9000
为 MinIO 创建 Bucket
- 可以通过设置环境变量来配置 AWS CLI 需要的 Access Key 和 Secret Key。
export AWS_ACCESS_KEY_ID=minioadmin
export AWS_SECRET_ACCESS_KEY=minio-secret-key-CHANGE-ME
- 使用 AWS CLI 创建 S3 存储桶。
aws s3api create-bucket --bucket automq-data --endpoint=http://10.1.0.240:9000
部署 AutoMQ
以下是生成 S3 URL 所需的必要参数:
参数名 | 本例默认值 | 说明 |
---|---|---|
--s3-access-key | minioadmin | 环境变量 MINIO_ROOT_USER |
--s3-secret-key | minio-secret-key-CHANGE-ME | 环境变量 MINIO_ROOT_PASSWORD |
--s3-region | us-west-2 | 该参数在 MinIO 中无效,可以设置为任意值,例如 us-west-2 |
--s3-endpoint | http://10.1.0.240:9000 | 通过运行 sudo systemctl status minio.service命令可以获取 endpoint |
--s3-data-bucket | automq-data | - |
--s3-ops-bucket | automq-ops | - |
完成 WAL 和 S3URL 配置后,现在可以部署 AutoMQ。请按照在 Linux 主机上以集群方式部署▸进行操作。