• docker搭建rabbitmq集群


    单机版搭建

            1 拉取rabbitMq镜像

                    docker pull rabbitmq:3.9.5-management
            2 启动rabbitMq容器

                    docker run  -d --name rabbitmq-104 -p 15672:15672  -p 5672:5672 -e                         RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin                         rabbitmq:3.9.5-management

            3 登录rabbitMq控制台查看

                    浏览器访问:http:192.168.56.104:15672

            

    集群搭建

            1 机器准备         

                        192.168.56.102
                        192.168.56.103
                        192.168.56.104

            2 拉取镜像

                    分别在3台机器上执行:docker pull rabbitmq:3.9.5-management

            3 启动容器

                    102机器: docker run  -d --hostname node2 --add-host=node3:192.168.56.103 --add-host=node4:192.168.56.104 --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

                    103机器:docker run  -d --hostname node3 --add-host=node2:192.168.56.102 --add-host=node4:192.168.56.104 --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

                    104机器:docker run  -d --hostname node4 --add-host=node2:192.168.56.102 --add-host=node3: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

            4 相关配置

                    分别进入三台虚拟机docker容器中:docker exec -it {containerName} bash

                    102机器:

                            #首先停止当前MQ

                            rabbitmqctl stop_app

                            #resetMQ

                            rabbitmqctl reset

                            #重新启动MQ

                            rabbitmqctl start_app

                            #退出容器

                            exit

                    103机器

                            #首先停止当前MQ
                            rabbitmqctl stop_app
                            #resetMQ
                            rabbitmqctl reset
                            #跟机器1的消息队列建立关系
                            rabbitmqctl join_cluster --ram rabbit@node2
                            #重新启动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

                    注意事项:
                                节点间通信的cookie一定要相同
                                如果在执行 "rabbitmqctl join_cluster --ram rabbit@node2"报错,

                                不用管,直接执行 rabbitmqctl start_app

            5 登录控制台查看集群信息

                    

  • 相关阅读:
    常见文件编码 - 多字节编码与Unicode编码区别
    栈和队列你真的会用了么?
    Python selenium爬取影评生成词云图
    大数据之LibrA数据库常见术语(四)
    写给所有程序员的对象的一封信
    代码随想录算法训练营第三十九天| 62.不同路径 63. 不同路径 II
    21天学习第三天--常用运算符
    【03】Charles_ mock服务端返回数据Maplocal
    高等院校教师资格证考试怎么考,要什么条件?
    获取多个接口的数据并进行处理,使用Promise.all来等待所有接口请求完成
  • 原文地址:https://blog.csdn.net/qq_39203337/article/details/133747459