RabbitMQ负载均衡HA

RabbitMQ 高可用集群搭建完成,最后一个步骤就是搭建均衡器。

在这里插入图片描述

安装并配置负载均衡器HA

注意:如果使用阿里云,可以使用阿里云的内网slb来实现负载均衡,不用自己搭建HA。

安装并配置负载均衡器HA

1、安装HAProxy(两台均操作)

yum -y install haproxy

2、修改 /etc/haproxy/haproxy.cfg(两台均操作)

[root@haproxy-1~]# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
[root@haproxy-1 ~]# vim /etc/haproxy/haproxy.cfg
global
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    nbproc      4
    daemon
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    retries                 3
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout check           10s
    maxconn                 2048
#---------------------------------------------------------------------
##监控查看本地状态#####
listen admin_stats
    bind *:80
    mode http
    option httplog
    option httpclose
    log 127.0.0.1 local0 err
    stats uri  /haproxy
    stats auth  test:123
####################################
###反代监控
frontend server
    bind *:5670
    log global
    mode tcp
    default_backend rabbitmq
    maxconn 3
backend rabbitmq
    mode        tcp
    log         global
    balance     roundrobin
    server      rabbitmq1 192.168.1.138:5672 check inter 2000s rise 2 fall 3
    server      rabbitmq2 192.168.1.139:5672 check inter 2000s rise 2 fall 3
    server      rabbitmq3 192.168.1.140:5672 check inter 2000s rise 2 fall 3
# check:表示启用对此后端服务器执行健康检查。
# inter:设置健康状态检查的时间间隔,单位为毫秒。
# rise:设置人故障状态转换至正常状态需要成功检查的次数,如 rise 2:表示2次检查正确就认为此服务器可用
# fall:设置后端服务器从正常状态转换为不可用状态需要检查的次数,如 fall 3表示3 次检查失败就认为此服务器不可用。
[root@haproxy-1 ~]# systemctl restart haproxy(两台均操作)

浏览器输入http://IP/haproxy查看rabbitmq的状态。

3.安装keepalived实现调度器HA

注:主/备调度器均能够实现正常调度
[root@haproxy-1 ~]# yum install -y keepalived
[root@haproxy-2 ~]# yum install -y keepalived
[root@haproxy-1 ~]# mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
[root@haproxy-1 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id director1
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 80
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.17/24  ##vip
    }
}

[root@haproxy-2 ~]# mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
[root@haproxy-2 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id directory2
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    nopreempt
    virtual_router_id 80
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.17/24
    }
}
启动KeepAlived(主备均启动)
[root@haproxy-1 ~]# systemctl start keepalived 
[root@haproxy-1 ~]# systemctl enable keepalived
[root@haproxy-1 ~]# ip a

对两台调度器haproxy可做健康检查,略。

常见命令

插件管理

  开启某个插件:rabbitmq-plugins enable  xxx
  关闭某个插件:rabbitmq-plugins disable xxx
  注意:重启服务后生效。

用户管理

  新建用户:rabbitmqctl add_user xxxpwd
  删除用户: rabbitmqctl delete_user xxx
  查看用户:rabbitmqctl list_users
  改密码: rabbimqctl change_password {username} {newpassword}
  设置用户角色:rabbitmqctlset_user_tags {username} {tag ...}
  Tag可以为 administrator,monitoring, management

其他使用命令:

rabbitmq使用命令:
rabbitmq-plugins list    ----查看安装的插件
rabbitmq-server -detached  -----------启动RabbitMQ节点
rabbitmqctl start_app ----------启动RabbitMQ应用,而不是节点
rabbitmqctl stop_app  ------停止
rabbitmqctl status  ------查看状态
rabbitmqctl add_user mq 123456    -------设置用户和密码
rabbitmqctl set_user_tags mq administrator ------------------新增账户并设置为管理员
rabbitmq-plugins enable rabbitmq_management  --------------------启用RabbitMQ_Management
rabbitmqctl cluster_status -------------------集群状态
rabbitmqctl forget_cluster_node rabbit@rabbit3 -------------------节点摘除 
rabbitmqctl reset application----------------------重置
rabbitmqctl set_permissions -p "/" soso  ".*" ".*" ".*"    --------------授权
--------------------- 
查看Connection,Queue,Channel,User

   rabbitmqctl list_connections  #列出所有连接
   rabbitmqctl list_queues  #列出所有队列
   rabbitmqctl list_channels #列出所有通道
   rabbitmqctl list_users   #列出所有用户
--------------------- 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值