• docker部署rocketmq


    1、首先部署注册中心name-server

    # 先创建专属网络

    1.1 容器网络互联创建docker网络:

    # 后续的name-server,broker,rocketmq-console都会使用该网络

    docker network create rocketmq

    # 创建好网络可以使用docker inspect命令查看网络信息

    docker inspect rocketmq

    1.2 部署name-server:

    # 无须先pull镜像,docker run之前会自动下载镜像

    docker run -d --name rmqnamesrv -p 9876:9876

    \ --privileged=true

    \ --network rocketmq

    \ -v /docker/rocketmq/namesrv/logs:/root/logs

    \ -v /docker/rocketmq/namesrv/store:/root/store

    \ -e "MAX_POSSIBLE_HEAP=100000000"

    \ rocketmqinc/rocketmq:4.4.0 sh mqnamesrv autoCreateTopicEnable=true

    # 说明:

    --name rmqnamesrv:指定容器名称为rmqnamesrv,注意这个名字,后续会使用。

    --network rocketmq:为容器指定网络为rocketmq,同一网络下的容器能够通过容器名称互通。

    --privileged=true:如果使用-v映射了目录,则使用该参数获取文件访问权限

    1.3 查看启动日志:

    docker logs -f rmqnamesrv

     2、部署broker

    2.1首先在宿主机创建broker的配置文件目录

    # 创建broker的配置文件目录

    sudo mkdir -p /docker/rocketmq/broker/conf

    # 创建broker的配置文件broker.conf

    sudo vi /docker/rocketmq/broker/conf/broker.conf

    # broker.conf内容如下(记得修改brokerIP1的值为宿主机的ip地址)

    brokerClusterName = DefaultCluster

    brokerName=broker-a

    brokerId=0

    deleteWhen=04

    fileReservedTime=48

    brokerRole=ASYNC_MASTER

    flushDiskType=ASYNC_FLUSH

    brokerIP1=(宿主机内部IP地址)

    2.2 部署broker

    # 无须先pull镜像,docker run之前会自动下载镜像

    docker run -d --name rmqbroker -p 10911:10911 -p 10909:10909

    \ --privileged=true

    \ --network rocketmq

    \ -v /docker/rocketmq/broker/logs:/root/logs

    \ -v /docker/rocketmq/broker/store:/root/store

    \ -v /docker/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf

    \ -e "NAMESRV_ADDR=rmqnamesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000"

    \ rocketmqinc/rocketmq:4.4.0 sh mqbroker autoCreateTopicEnable=true -c /opt/rocketmq-4.4.0/conf/broker.conf

    # 说明:

    --network rocketmq:为容器指定网络为rocketmq,同一网络下的容器能够通过容器名称互通。
    -e "NAMESRV_ADDR=rmqnamesrv:9876":此处的rmqnamesrv就是容器name-server的名称

    # 查看启动日志:

    sudo docker logs -f rmqbroker

    验证容器之间是否互通:

    # 进入broker容器

    docker exec -it rmqbroker /bin/bash

    # ping name-server的容器名称

    ping rmqnamesrv

    (容器之间可以通过容器名称链接)

     3、部署GUI(console)

    # 同样在启动的时候指定同一个network

    # 注意修改rocketmq.namesrv.addr后面的地址为容器名称:端口号

    docker run -d --name rmqconsole -p 8080:8080 --network rocketmq

    \ -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876" styletang/rocketmq-console-ng

     

     

     

     

    
    
  • 相关阅读:
    投简历——个人记录
    光电经纬仪——查资料
    Spring Boot(十三):spring boot小技巧
    Spring Boot(十二):spring boot如何测试打包部署
    Python3 hasattr()、getattr()、setattr()函数简介
    Python3 格式化字符串
    Python3 join函数和os.path.join用法
    Python3 根据m3u8下载视频,批量下载ts文件并且合并
    it commit提示Your branch is up-to-date with 'origin/master'.
    git下,输入git log 进入log 怎么退出
  • 原文地址:https://www.cnblogs.com/china-golang/p/15916001.html
Copyright © 2020-2023  润新知