rabbitmq 镜像集群负载均衡 搭建过程

本文详细介绍了如何配置RabbitMQ镜像集群,包括环境设置、主机名配置、安装依赖、集群节点同步、设置镜像队列策略等步骤,并解决了在搭建过程中可能出现的问题,如节点间通讯、UI登录失败等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


rabbitmq 镜像集群配置 
 准备好几台服务器 比如三台 IP分别是 191,192,193

第一步 配置环境和主机名 分别设置三台机器 

    ① 设置主机名
        191:命令
          vim /ect/hostname
             rab191

        192:命令
          vim /ect/hostname
             rab192     

        193:命令

          vim /ect/hostname
             rab193     

    ② 设置机器之间可以通讯 三台机器都需设置 设置一样的
        命令           
          vim /ect/hosts

             10.0.0.191 rab191
             10.0.0.192 rab192 
             10.0.0.193 rab193

    ③ 安装运行的的环境         

       命令
           yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz

这样就设置了好了 环境       然后 重启一下机器  这样那个 hostname才会在rabbitmq生效     

第二步 三台机器都需要同样的操作 安装 rabbitmq 以及他的依赖 

    ①下载相关文件 

      命令 
        wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
        wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
        wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-.noarch.rpm
    ② 安装依赖和rabbitmq 
     
      命令
        rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm 
        rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
        rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm    

    ③ 修改配置文件 

        命令
        vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app        

           修改:loopback_users 中的 [<<"guest">>],只保留[guest]
           修改:heartbeat 为1  ## 心跳

   ④ 启动服务和关闭服务 命令

      服务启动和停止:
      启动 rabbitmq-server start &
      停止 rabbitmqctl app_stop
      然后重启 service rabbitmq-server restart

   ⑤ 安装插件 即是 UI 管理端      
      
      命令 
          rabbitmq-plugins enable rabbitmq_management

   ⑥ 访问 10.0.0.191:15672/ (如果访问不到 请关闭防火墙 百度一下 防火墙 怎么关闭 命令 systemctl stop firewalld.service   )
      登录账号 guset     密码 guset ,这时候发现是登录失败 ,因为这个guset用户只能是http://localhost:15672 可以登录而已 ,
      所以这时候就要配置一个东西了  文件rabbitmq.config  不管这个不存在 直接执行命令就好 ,

      命令 
      vim /etc/rabbitmq/rabbitmq.config 
 
        [{rabbit,[{tcp_listeners,[5672]},{loopback_users,["guest"]}]}].

     保全退出 要指定 这个用户   guest

     然后重启 service rabbitmq-server restart  ,再次登录就ok


 第三步 加入集群
     
     ① 停止所有的机器 
        命令
           rabbitmqctl stop    

     ② 同步 cookie 文件 ,即是复制文件 这时候要选择一个机器为主节点机器  比如是191

        进入191机器的文件目录 复制到俩台机器

              命令
                scp /var/lib/rabbitmq/.erlang.cookie root@10.0.0.192:/var/lib/rabbitmq/
              命令
                scp /var/lib/rabbitmq/.erlang.cookie root@10.0.0.193:/var/lib/rabbitmq/

     ③ 然后再所有机器执行集群启动

               命令

                  rabbitmq-server -detached  

     ④ 加入集群中 即是加入到191 里面  

            首先 在192 操作 
                 命令停止:      
                       rabbitmqctl stop_app
                 命令加入集群: 
                       rabbitmqctl join_cluster --ram rabbit@rab191
                 命令启动:
                       rabbitmqctl start_app

            然后在193操作           

                 命令停止:      
                       rabbitmqctl stop_app
                 命令加入集群: 
                       rabbitmqctl join_cluster --ram rabbit@rab191
                 命令启动:
                       rabbitmqctl start_app

            最后如果成功了  请在任意一个 界面刷新 http://10.0.0.191:15672/#/  会看到三个node 就说明成功了 


      ⑤ 查看集群状态 当然也可以设置集群的名称  "aabb"
      
           命令设置名称 :rabbitmqctl set_cluster_name aabb     

           命令查看状态: rabbitmqctl cluster_status    


  第四步 设置镜像队列策略 在任意一个机器执行命令就可 
    
     命令:
       rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

     然后重启 service rabbitmq-server restart  ,再次登录就ok


  第五步 集群经完成了 .

第六步 总结 

学习过程中遇到很多问题 比如UI管理端登录不上 加入集群遇到问题 其实都是环境没有配置好

 

比如 加入集群 遇到 这个错误 

Clustering node rabbit@rab193 with rabbit@rab191 ...

Error: unable to connect to nodes [rabbit@rab191]: nodedown

DIAGNOSTICS

==========

attempted to contact: [rabbit@rab191]

rabbit@rab191:

  * unable to connect to epmd (port 4369) on rab191: nxdomain (non-existing domain)

current node details:

- node name: 'rabbitmq-cli-99@rab193'

- home dir: /var/lib/rabbitmq

- cookie hash: gLLlE/7C/DMNC+5jkkUyQw==

其实这个错误就是机器之间要通讯   即是本的第一步的第二点

还有在局域网  登录guest登录失败 就是第二步的第六点

 

还有其他错误就是防火墙或者自己端口就好了.

 

 这集群效果图


   

      

             


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值