zoukankan      html  css  js  c++  java
  • 使用docker搭建RabbitMQ集群

    参考使用docker搭建RabbitMQ集群

    docker运行RabbitMQ容器

    docker run -d --hostname rabbit01 --name myrabbit01 -p 5672:5672 -p 15672:15672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=886291 rabbitmq:management
    
    docker run -d --hostname rabbit02 --name myrabbit02 -p 5673:5672 --link myrabbit01:rabbit01 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:management
    
    docker run -d  --hostname rabbit03 --name myrabbit03 -p 5674:5672 --link myrabbit01:rabbit01 --link myrabbit02:rabbit02 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:management
    

    参数说明

    • -d:以后台进程运行
    • –hostname rabbit01:RabbitMQ主机名称
    • –name:容器名称
    • -p:端口映射(宿主机端口:容器内端口),5672:amqp访问端口,15672:http访问端口

    注意点

    1. 使用:http://宿主ip:15672 访问,用户名密码使用默认:guest/guest。
    2. 多个容器之间使用“–link”连接,此属性不能少;
    3. Erlang Cookie值必须相同,也就是RABBITMQ_ERLANG_COOKIE参数的值必须相同,原因见下文“配置相同Erlang Cookie”部分;

    组建RabbitMQ集群

    启动了3个节点,1个磁盘节点和2个内存节点。

    #设置节点1,加入到集群:
    docker exec -it myrabbit01 bash
    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl start_app
    exit
    
    #设置节点2,加入到集群:
    docker exec -it myrabbit02 bash
    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl join_cluster --ram rabbit@rabbit01
    rabbitmqctl start_app
    exit
    
    #设置节点3,加入到集群:
    docker exec -it myrabbit03 bash
    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl join_cluster --ram rabbit@rabbit01
    rabbitmqctl start_app
    exit
    

    参数--ram表示设置为内存节点,忽略此参数默认为磁盘节点。

    配置相同Erlang Cookie

    RabbitMQ是用Erlang实现的,Erlang Cookie相当于不同节点之间相互通讯的秘钥,Erlang节点通过交换Erlang Cookie获得认证。

    添加镜像策略

    #进入jt_rabbitmq01的容器内
    docker exec -it jt_rabbitmq01 bash
    #执行下面命令
    rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
    
  • 相关阅读:
    VS2013折叠代码、打开代码的快捷键
    用if做了一个简单的猜拳游戏(做的不好还请指点,谢谢!)
    一维数组的应用
    do while 与while的区别!
    作业.把c语言输出的基础差不多都概括了!
    C语言基础
    c语言:蜗牛的爬行。
    QQ群成员提取
    入门教程2
    VMware WorkStations最小化安装&配置&卸载CentOS 7
  • 原文地址:https://www.cnblogs.com/wandoupeas/p/docker_rabbitmq_cluster.html
Copyright © 2011-2022 走看看