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
相关推荐
AOwhisky7 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
摇滚侠11 小时前
Linux 零基础教程 09、11、77
linux·运维·服务器
Lottie202611 小时前
电商自动化提质增效:API接口落地的核心价值与实战用法
运维·自动化
Hardworking66612 小时前
第6章 数据工程
运维·服务器·数据库·数据工程
jieyucx13 小时前
Docker 入门第六阶段:综合实战项目
运维·docker·容器
美丽的欣情13 小时前
RK3588 Debian 交叉编译环境搭建(Windows + VMware Debian + CMake)
运维·windows·debian
嵌入式学习和实践13 小时前
嵌入式 Linux 调闭源 SDK 怕崩?用 dlopen 把第三方动态库库“隔离“起来
linux·三方库
小樱花的樱花14 小时前
Linux 多线程编程:互斥锁(Mutex)详解
linux·c语言·开发语言
TlSfoward14 小时前
TLSFOWARD自动化抓包工具
运维·自动化
麦兜和小可的舅舅14 小时前
从原理到实战:Linux 系统性能诊断核心指标全解析及生产系统故障分析复盘
大数据·linux·运维