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 #列出所有用户
---------------------