使用docker快速安装RocketMQ

前言

首先要安装docker,没有安装的看我以前的博客

docker的安装和常用的命令-CSDN博客

安装RocketMQ先大概了解一下它的架构图

使用docker快速安装RocketMQ_第1张图片

由图可以看出,RocketMQ需要安装NameServer和Broker这两个软件服务,这里还需要一个RocketMQ 控制台,可以通过视图化的方式看到消息的发送情况

总结一下,安装RocketMQ需要安装三个服务: NameServer、Broker和RocketMQ 控制台


安装RocketMQ的命令

RocketMQ的NameServer安装命令
docker run -d -p 9876:9876 --name rmqnamesrv --restart always foxiswho/rocketmq:server-4.5.1

RocketMQ的Broker安装命令

1、新建配置目录

mkdir -p ${HOME}/docker/software/rocketmq/conf

2、在这个目录下创建文件broker.conf

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 此处为本地ip, 如果部署服务器, 需要填写服务器外网ip,这是 RocketMQ Broker 对外暴露服务的 IP 地址。其他组件(比如生产者、消费者、NameServer)会通过此 IP 与 Broker 通信,自己按照自己的情况进行填写
brokerIP1 = xx.xx.xx.xx

3、创建Bocker容器

docker run -d \
-p 10911:10911 \
-p 10909:10909 \
--name rmqbroker \
--link rmqnamesrv:namesrv \
-v ${HOME}/docker/software/rocketmq/conf/broker.conf:/etc/rocketmq/broker.conf \
-e "NAMESRV_ADDR=namesrv:9876" \
-e "JAVA_OPTS=-Duser.home=/opt" \
-e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m" \
--restart always \
foxiswho/rocketmq:broker-4.5.1

安装 RocketMQ 控制台
docker run -d \
--link rmqnamesrv:namesrv \
-e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=namesrv:9876 -Drocketmq.config.isVIPChannel=false" \
--name rmqconsole \
-p 8088:8080 \
--restart always \
-t pangliang/rocketmq-console-ng

各个参数的含义

Docker 容器具有独立的端口和文件目录,这是 Docker 实现容器化隔离的核心特性之一

docker run:
        指定的镜像创建并启动一个新的容器。
-d:
        在后台运行容器。
--restart=always:
        指定容器的重启策略。只要docker启动,该容器就一直启动。

-p 主机端口:容器端口
        端口映射。

--name 容器名称:
        容器名称。

-v 主机目录:容器目录
        主机目录和容器目录映射。格式为主机目录:容器目录。主机上目录映射到容器目录。往容器目录写内容,主机目录会同步。

foxiswho/rocketmq:版本号

指定用于创建容器的镜像。使用的是 rocketmq 指定版本。

注意:上面的命令是实验过版本兼容的,尽量不要大改命令参数

验证是否安装成功

访问地址

你的ip:8088 (控制台)

你的ip:9876 (消息发送处理接口)

自己实验看看消息是否可以监控到,如果不能,一般原因就是brokerIP1 = xx.xx.xx.xx没有填对

你可能感兴趣的:(编程软件安装,rocketmq)