linux系统消息中间件安装配置负载均衡器

负载均衡器

安装并配置负载均衡器

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

安装并配置负载均衡器HA

在其中一台服务器安装HAProxy
shell 复制代码
yum -y install haproxy
修改 /etc/haproxy/haproxy.cfg
shell 复制代码
cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak

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 newrain:123456
    stats refresh 30s
####################################
###反代监控
frontend server
    bind *:5670
    log global
    mode tcp
    #option forwardfor
    default_backend rabbitmq
    maxconn 3
backend rabbitmq
    mode        tcp
    log         global
    balance     roundrobin
    server      rabbitmq1 192.168.50.138:5672 check inter 2000s rise 2 fall 3
    server      rabbitmq2 192.168.50.139:5672 check inter 2000s rise 2 fall 3
    server      rabbitmq3 192.168.50.140:5672 check inter 2000s rise 2 fall 3


#重启服务
systemctl start haproxy
复制代码
浏览器输入:http://192.168.50.138/haproxy
查看rabbitmq的状态。

常见命令

插件管理
复制代码
开启某个插件:rabbitmq-plugins enable  xxx
关闭某个插件:rabbitmq-plugins disable xxx
注意:重启服务器后生效。
virtual_host管理
复制代码
新建virtual_host:rabbitmqctl add_vhost  xxx
撤销virtual_host:rabbitmqctl  delete_vhost xxx 
用户管理
shell 复制代码
新建用户: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
其他使用命令:
shell 复制代码
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 "/" 用户名  ".*" ".*" ".*"    --------------授权
--------------------- 查看Connection,Queue,Channel,User

rabbitmqctl list_connections  #列出所有连接
rabbitmqctl list_queues  #列出所有队列
rabbitmqctl list_channels #列出所有通道
rabbitmqctl list_users   #列出所有用户
shell 复制代码
设置节点类型
如果你想更换节点类型可以通过命令修改,如下:

rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type dist
rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app
===================================================

移除节点
如果想要把节点从集群中移除,可使用如下命令实现:

rabbitmqctl stop_app
rabbitmqctl restart
rabbitmqctl start_app
=============================================

集群重启顺序
集群重启的顺序是固定的,并且是相反的。如下所述:

启动顺序:磁盘节点 => 内存节点
关闭顺序:内存节点 => 磁盘节点

最后关闭必须是磁盘节点,不然可能回造成集群启动失败、数据丢失等异常情况。
RabbitMQ 错误处理
复制代码
returned an error: shutdown: failed to  start child: Logger.ErrorHandler
原因:erlang版本与RabbitMQ的版本不对应
解决:根据 RabbitMQ Erlang Version Requirements 这个网页检查版本 https://www.rabbitmq.com/which-erlang.html
相关推荐
Elias不吃糖9 小时前
epoll 事件全集、每个事件的含义、哪些事件在实际服务器中最常见、哪些会组合出现
linux·c++·event
人工智能训练10 小时前
Ubuntu中如何进入root用户
linux·运维·服务器·人工智能·ubuntu·ai编程·root
tianshiyeben10 小时前
WGCLOUD监控系统使用指南 - 告警消息整理完整版
linux·运维·服务器·系统安全·zabbix
Unlyrical10 小时前
splice, io_uring_prep_splice 调用(无效参数)
linux·服务器·c++·unix
喜欢你,还有大家10 小时前
Docker-存储
运维·docker·容器
暂时先用这个名字10 小时前
信创时代下,PHP/MySQL应用的平滑迁移与运维管理升级(AI整理)
运维·mysql·php·信创·国产化·国产·迁移
---学无止境---11 小时前
Linux内核用户身份管理全链路深度剖析:setuid系统调用完整架构
linux
CS_浮鱼11 小时前
【Linux】进程控制
linux·运维·网络
Miraitowa_cheems11 小时前
LeetCode算法日记 - Day 104: 通配符匹配
linux·数据结构·算法·leetcode·深度优先·动态规划
fengyehongWorld11 小时前
Linux stat命令
linux