• 使用dockercompose.yml安装rabbitmq集群


    1.拉取镜像
    集群中每个节点都需要执行

    docker pull rabbitmq:3.8.3-management
    

    2.上传docker-compose文件,设置可执行权限
    相关文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13292779.html

    cd /usr/local/bin/
    chmod +x /usr/local/bin/docker-compose
    

    3.创建有关目录

    路径根据实际需求来定(hosts文件下同)
    mkdir -p /home/rabbitmq/{config,data}

    config目录存放配置文件以及一些脚本,data存放rabbitmq程序数据

    添加hosts文件 (最好不要在系统hosts文件中设置)

    tee /home/rabbitmq/hosts <<-'EOF'
    192.168.2.163 rabbitmq1
    192.168.2.164 rabbitmq2
    192.168.2.165 rabbitmq3
    EOF
    

    4.在上一步中创建的rabbitmq目录下,创建docker-compose.yml文件

    # cat  /home/rabbitmq/docker-compose.yml
    
    version: '3'
     
    services:
      rabbitmq1:
        image: rabbitmq:3.8.3-management
        container_name: rabbitmq1
        restart: always
        hostname: rabbitmq1
        ports:
          - 4369:4369
          - 5671:5671
          - 5672:5672
          - 15672:15672
          - 25672:25672
          - 15692:15692      
        volumes:
          - ./data:/var/lib/rabbitmq
          - ./config/rabbitmq.sh:/etc/rabbitmq/rabbitmq.sh
          - ./hosts:/etc/hosts
        environment:
          - RABBITMQ_DEFAULT_USER=guest
          - RABBITMQ_DEFAULT_PASS=password
          - RABBITMQ_ERLANG_COOKIE=thisisacookie
    

    这是节点1的docker-compose.yml文件内容,节点2和节点3只需要将文件中的rabbitmq1改成rabbitmq2或者rabbitmq3即可

    注意:在挂载参数中,必须加上“- ./hosts:/etc/hosts”,否则集群无法成功会报“Error: unable TO perform an operation ON node 'rabbit@rabbitmq1'. Please see diagnostics information AND suggestions below.”

    5.启动
    各节点均在"/home/rabbitmq"路径下执行如下命令:
    docker-compose up -d

    关闭防火墙或者开放对应的映射端口

    6.执行集群命令
    在第一步中事先规划好了各节点rabbitmq的存储方式,即节点1是disk,节点2和节点3都是ram
    所以在直接完docker-compose后,执行命令进入各docker节点:

    # 该命令以节点1为例
    docker exec -it rabbitmq1 /bin/bash
    
    然后执行对应的集群命令:
    disk节点(节点1主节点)执行:
    
    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl start_app
    
    ram节点(节点2和节点3)执行:
    
    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl join_cluster --ram rabbit@rabbitmq1
    rabbitmqctl start_app 
    

    如果后期需要修改节点的存储方式可以使用:rabbitmqctl change_cluster_node_type disc/ram     #更改节点为磁盘或内存节点

    7.检查集群各节点状态
    在节点下执行:rabbitmqctl cluster_status

    检查插件情况:rabbitmq-plugins list

    8.设置策略
    进入任意一个RabbitMQ节点,执行如下命令:
    rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

    查看是否设置成功:rabbitmqctl list_policies

  • 相关阅读:
    7.24总结
    7.23总结
    7.22总结
    。。。
    7.21总结
    7.20总结
    7.19总结
    大假期第四次测试总结
    大假期第三次测试
    题目分享k
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/15797788.html
Copyright © 2020-2023  润新知