RabbitMQ(五)集群部署

一、安装rabbitmq所需要的依赖包
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz
 
二、下载安装包
erlang、socat、rabbitmq安装最新版本
 
三、安装服务
# 第一步 : 安装 erlang 语言环境
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
# 第二步 : 安装 socat 加解密软件
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
# 第三步 : 最后安装 rabbitmq
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 (不修改只能通过localhost访问)
 
五、修改本机系统文件
  1. 修改 vim /etc/rabbitmq/rabbitmq-env.conf   添加 : NODENAME=rabbit
  2. 修改 vim /etc/hostname 添加自定义主机名称 例如:yunji82
  3. 修改本地hosts文件   vim /etc/hosts 文件  例如:172.16.0.82   yunji82
 
六、启动单台服务器
进入到 /usr/local 目录下
cd /usr/local
输入 rabbitmqctl start_app
启动插件: rabbitmq-plugins enable rabbitmq_management
 
检查端口 : lsof -i:5672
查看进程  ps -ef|grep rabbitmq
 
访问地址 :http://172.16.0.82:15672
 
第二台83和第三台84服务器重复相同的步骤
 
选择第一台82作为主节点,同步82服务器上的cookie到83和84。文件目录: /var/lib/rabbitmq/.erlang.cookie
 
七、启用集群
三台机器上执行
rabbitmqctl stop
rabbitmq-server -detached
 
83和84加入82的集群
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@yunji82
rabbitmqctl start_app
 
修改集群名称 : 82 上执行给命令 ( /usr/local)
rabbitmqctl set_cluster_name rabbitmq_cluster_yunji
查看集群状态
rabbitmqctl cluster_status
 
访问管理后台
 
八、配置镜像队列
在任意节点上执行 rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}' 将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态一致,
RabbitMQ 高可用集群就已经搭建好了 , 我们可以重启服务,查看其队列是否在从
节点同步
 
剔除节点命令
rabbitmqctl forget_cluster_node rabbit@ 点名称  剔除节点
 
九、HAPROXY负载均衡
9.1安装部署
1.下载依赖
yum install gcc vim wget
2.下载haproxy
wget http://www . haproxy .org/download/1.6/src/haproxy-1.6.5.tar.gz
3.解压
tar -zxvf haproxy-1.6.5.tar.gz -C /usr/local
4. 进入目录、进行编译、安装
cd /usr/local/haproxy-1.6.5
make TARGET=linux31 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
5. 创建 一个 haproxy 的目录 用于存放 haproxy 的配置文件
mkdir /etc/haproxy
groupadd -r -g 149 haproxy
useradd -g haproxy -r -s /sbin/nologin -u 149 haproxy
创建配置文件
touch /etc/haproxy/haproxy.cfg
 
haproxy.cfg 配置文件详解
#lgging options
global
log 127.0.0.1 local0 info
maxconn 5120
chroot /usr/local/haproxy
uid 99
gid 99
daemon
quiet
nbproc 20
pidfile /var/run/haproxy.pid
defaults
log global
#使用4层代理模式,”mode http”为7层代理模式
mode tcp
#if you set mode to tcp,then you nust change tcplog into httplog
option tcplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5s##客户端空闲超时时间为 60秒 则HA 发起重连机制
clitimeout 60s
##服务器端链接超时时间为 15秒 则HA 发起重连机制
srvtimeout 15s
#front-end IP for consumers and producters
listen rabbitmq_cluster
#监听的端口
bind 0.0.0.0:5672
#配置TCP模式
mode tcp
#简单的轮询
balance roundrobin
##===================================超级 超级 重要防止应用程序连接关闭===================================
timeout client 3h
timeout server 3h
#rabbitmq集群节点配置 #inter 每隔五秒对mq集群做健康检查, 2次正确证明服务器可用,2次失败证明服务器不可用,并且配置主备机制
server yunji82 172.16.0.82:5672 check inter 5000 rise 2 fall 2
server yunji83 172.16.0.83:5672 check inter 5000 rise 2 fall 2
server yunji84 172.16.0.84:5672 check inter 5000 rise 2 fall 2
#配置haproxy web监控,查看统计信息
listen stats
bind 172.16.0.85:8100
mode http
option httplog
stats enable
#设置haproxy监控地址为http://172.16.0.85:8100/rabbitmq-stats
stats uri /rabbitmq-stats
stats refresh 5s
 
启动 haproxy
/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg
 
查看 haproxy 是否启动 ? ps-ef|grep rabbitmq
 
haparoxy 的监控台访问
 
关闭 haproxy 命令
killall haproxy
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值