logo

Docker部署RocketMQ 5.x指南

作者:rousong2024.02.16 15:37浏览量:21

简介:本文将指导您通过Docker轻松部署RocketMQ 5.x,让您可以快速搭建RocketMQ集群。我们将从下载和安装Docker开始,然后引导您创建RocketMQ镜像和容器,最后配置RocketMQ集群。

在开始之前,请确保您的系统已经安装了Docker。您可以从Docker官方网站下载并按照说明进行安装。

步骤1:创建RocketMQ镜像
首先,我们需要一个RocketMQ镜像来启动容器。可以使用Dockerfile来创建这个镜像。下面是一个简单的示例Dockerfile,您可以根据自己的需求进行修改:

  1. FROM public.ecr.aws/amzn/java:11
  2. ARG ROCKETMQ_VERSION=5.x
  3. ARG USER_ID=1000
  4. ARG GROUP_ID=1000
  5. # Install RocketMQ
  6. RUN wget -q https://archive.apache.org/dist/rocketmq/$ROCKETMQ_VERSION/rocketmq-$ROCKETMQ_VERSION.tar.gz \n && tar -zxvf rocketmq-$ROCKETMQ_VERSION.tar.gz \n && rm -f rocketmq-$ROCKETMQ_VERSION.tar.gz \n && mv apache-rocketmq-$ROCKETMQ_VERSION /opt/rocketmq \n && chown -R $USER_ID:$GROUP_ID /opt/rocketmq \n && ln -s /opt/rocketmq /root/rocketmq
  7. # Set environment variables
  8. ENV ROCKETMQ_HOME /opt/rocketmq
  9. ENV PATH $PATH:$ROCKETMQ_HOME/bin

保存为Dockerfile,然后在同一目录下运行以下命令来构建镜像:

  1. docker build -t rocketmq:5.x .

步骤2:启动RocketMQ容器
现在我们已经有了RocketMQ镜像,接下来我们将使用它来启动容器。运行以下命令来启动一个RocketMQ节点:

  1. docker run -d --name=rocketmq-node1 -p 11983:11983 -p 11984:11984 -p 11985:11985 -p 11986:11986 rocketmq:5.x

这个命令会启动一个名为“rocketmq-node1”的容器,并将容器的端口映射到主机的相应端口。默认情况下,RocketMQ将使用这些端口进行通信。

步骤3:配置RocketMQ集群
如果需要配置RocketMQ集群,可以在运行容器时添加一些环境变量来配置broker和nameserver的信息。例如,运行以下命令来启动一个包含三个节点的RocketMQ集群:

```shell
docker run -d —name=rocketmq-node1 —env ROCKETMQ_BROKER_NAMESERVER_NAME=ns-abc —env ROCKETMQ_BROKER_NAMESERVER_ADDR=broker-abc:9876,broker-xyz:9876,broker-pqr:9876 —env ROCKETMQ_BROKER_GROUPNAME=group-abc —env ROCKETMQ_BROKER_PARTITIONS=3 —env ROCKETMQ_BROKER_BACKLOG=200000 —env ROCKETMQ_BROKER_PAGECACHESIZE=8192 rocketmq:5.x
docker run -d —name=rocketmq-node2 —env ROCKETMQ_BROKER_NAMESERVER_NAME=ns-abc —env ROCKETMQ_BROKER_NAMESERVER_ADDR=broker-abc:9876,broker-xyz:9876,broker-pqr:9876 —env ROCKETMQ_BROKER_GROUPNAME=group-abc —env ROCKETMQ_BROKER_PARTITIONS=3 —env ROCKETMQ_BROKER_BACKLOG=200000 —env ROCKETMQ_BROKER_PAGECACHESIZE=8192 rocketmq:5.x
docker run -d —name=rocketmq-node3 —env ROCKETMQ_BROKER_NAMESERVER_NAME=ns-abc —env ROCKETMQ_BROKER_NAMESERVER_ADDR=broker-abc:9876,broker-xyz:9876,broker-pqr:9876 —env ROCKETMQ_BROKER_GROUPNAME=group-abc —

相关文章推荐

发表评论