docker安装rabbitMq集群

一 机器准备

        准备三台虚拟机:

            192.168.56.102
            102.168.56.103
            102.168.56.104

二 拉取镜像

        在三台虚拟机上分别执行:

        docker pull rabbitmq:3.9.5-management

三 启动容器

        103:
        docker run  -d --hostname node2 --add-host=node3:192.168.56.104 --add-host=node1:192.168.56.102 --name rabbitmq1 --net host -p 15672:15672  -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq'  rabbitmq:3.9.5-management

        104:

        docker run  -d --hostname node3 --add-host=node2:192.168.56.103 --add-host=node1:192.168.56.102 --name rabbitmq2 --net host -p 15672:15672  -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq'  rabbitmq:3.9.5-management

        105:

        docker run  -d --hostname node1 --add-host=node3:192.168.56.104 --add-host=node2:192.168.56.103 --name rabbitmq3 --net host -p 15672:15672  -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_ERLANG_COOKIE='rabbit_mq'  rabbitmq:3.9.5-management

其中:

        --hostname rabbitmq1 容器的主机名为 rabbitmq1

       --add-host=node3:192.168.56.104 修改容器内部的hosts

        

        -e RABBITMQ_DEFAULT_USER=admin 设置rabbitmq默认用户为admin

        -e RABBITMQ_DEFAULT_PASS=admin 设置rabbitmq默认密码为admin

        -e RABBITMQ_ERLANG_COOKIE='rabbit_mq' 设置rabbitmq的cookie为“rabbit_mq”,可以自定义为其他文本,容器保持一致即可

四 相关配置

        分别进入到docker容器中  docker exec -it {containerName} bash

103:
          #首先停止当前MQ
        rabbitmqctl stop_app
          #resetMQ
        rabbitmqctl reset
          #重新启动MQ
        rabbitmqctl start_app
          退出容器
        exit

104:
        #首先停止当前MQ
        rabbitmqctl stop_app
        #resetMQ
        rabbitmqctl reset
        #跟机器1的消息队列建立关系
        rabbitmqctl join_cluster --ram rabbit@node2
        #重新启动MQ
        rabbitmqctl start_app
        退出容器
        exit

102:
        #首先停止当前MQ
        rabbitmqctl stop_app
        #resetMQ
        rabbitmqctl reset
        #跟机器1的消息队列建立关系
        rabbitmqctl join_cluster --ram rabbit@node2
        #重新启动MQ
        rabbitmqctl start_app
        退出容器
        exit

五 注意事项

    节点间通信的cookie一定要相同
    如果在执行第4步骤(相关配置出现报错:可以重复执行一次。如果还报错,可以查看一下报错原因,具体分析)

部署完成之后,查看控制台信息,确认集群启动成功:

        

猜你喜欢

转载自blog.csdn.net/qq_39203337/article/details/130196885