Docker 部署多节点测试集群
本文档介绍如何在本地开发环境中部署三节点的 AutoMQ 集群(通过部署 MinIO 提供对象存储服务),用户可在该开发环境中验证例如分区迁移、数据自动均衡等集群相关的功能特性。
除了 Docker 部署方案,用户可参考以下文档体验其他部署方案,用于验证集群相关的功能特性:
面向生产环境负载的 AutoMQ 部署和参数调优相对复杂,您可以通过此处表单联系 AutoMQ 团队获取必要的协助和最佳实践。
此外,如果您期望完全避免安装部署的工作负担,可以通过以下链接体验 AutoMQ 团队提供的全托管云服务,当前各云市场均提供了免费 2 周的试用体验。
前置条件
-
Linux/Mac/Windows Subsystem for Linux
-
Docker
-
Docker Compose 版本 > 2.22.0
-
8GB 以上空闲内存
安装并启动三节点 AutoMQ 集群
输入下方命令即可下载单节点部署方案的 docker-compose 配置文件,并通过 Docker Compose 启动单节点的 AutoMQ 集群。
curl -O https://raw.githubusercontent.com/AutoMQ/automq/refs/heads/main/docker/docker-compose-cluster.yaml && docker compose -f docker-compose-cluster.yaml up -d
启动成功后,将在名为 automq_net 的 docker 网络下暴露集群地址,集群的 bootstrap 地址为“server1:9093,server2:9093,server3:9093 ”,后续可以通过该地址连接集群。
注意:
上述测试环境中 AutoMQ 使用名为 automq_net 的 docker 网络,如需连接该集群,需要配置 *--network automq_net *选项,使用相同的 docker 网络连接集群。
测试消息收发
在安装启动 AutoMQ 集群后,可以通过运行以下命令,测试消息发送、消费等功能。
- 运行以下命令,通过在 docker 环境运行 Kafka CLI 命令 kafka-topics.sh 创建 Topic。
docker run --network automq_net automqinc/automq:latest /bin/bash -c "/opt/kafka/kafka/bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server server1:9092,server2:9092,server3:9092"
- 运行以下命令,通过在 docker 环境运行 Kafka CLI 命令 kafka-console-producer.sh 发送测试消息。
docker run -it --network automq_net automqinc/automq:latest /bin/bash -c "/opt/kafka/kafka/bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server server1:9092,server2:9092,server3:9092"
- 运行以下命令,通过在 docker 环境运行 Kafka CLI 命令 kafka-console-consumer.sh 消费测试消息。
docker run --network automq_net automqinc/automq:latest /bin/bash -c "/opt/kafka/kafka/bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server server1:9092,server2:9092,server3:9092"
体验 AutoMQ 集群功能
除了基础的消息生产和消费功能,AutoMQ 支持秒级分区迁移、自动数据重平衡等能力,解决了 Apache Kafka 无法快速迁移、扩缩容等问题。可以参考如下文档进行测试验证:
停止并卸载单节点 AutoMQ 集群
完成功能测试后,请运行以下命令以停止和卸载当前 AutoMQ 集群。
curl -O https://raw.githubusercontent.com/AutoMQ/automq/refs/heads/main/docker/docker-compose-cluster.yaml && docker compose -f docker-compose-cluster.yaml down -v