debian

RabbitMQ在Debian上的集群部署方法

小樊
44
2025-08-24 13:20:04
栏目: 智能运维

以下是在Debian上部署RabbitMQ集群的步骤:

  1. 安装Erlang
    RabbitMQ依赖Erlang环境,执行以下命令安装:

    sudo apt update  
    sudo apt install -y erlang-nox  
    
  2. 添加RabbitMQ仓库并安装

    • 导入官方GPG密钥:
      curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg >/dev/null  
      
    • 添加仓库源:
      echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-server/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list  
      
    • 安装RabbitMQ:
      sudo apt update  
      sudo apt install rabbitmq-server  
      
  3. 配置Erlang Cookie

    • 在主节点获取Cookie:
      cat /var/lib/rabbitmq/.erlang.cookie  
      
    • 将Cookie复制到其他节点,并设置权限:
      sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie  
      sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie  
      
  4. 启动RabbitMQ服务
    在所有节点执行:

    sudo systemctl start rabbitmq-server  
    sudo systemctl enable rabbitmq-server  
    
  5. 构建集群

    • 在主节点(如node1)无需操作,直接启动服务。
    • 在其他节点执行:
      sudo rabbitmqctl stop_app  
      sudo rabbitmqctl reset  
      sudo rabbitmqctl join_cluster rabbit@node1  # node1为主节点主机名或IP  
      sudo rabbitmqctl start_app  
      
  6. 验证集群状态
    在任意节点执行:

    sudo rabbitmqctl cluster_status  
    

    查看节点是否成功加入集群。

  7. 配置镜像队列(可选)
    为保证消息高可用,设置队列镜像策略:

    sudo rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all"}'  
    

    此策略会将所有队列镜像到集群所有节点。

  8. 启用管理插件(可选)
    通过Web界面管理集群:

    sudo rabbitmq-plugins enable rabbitmq_management  
    

    访问地址:http://<节点IP>:15672,默认用户名/密码为guest/guest

注意事项

0
看了该问题的人还看了