服务器IP | hostname | 节点说明 | 端口 | 管控台地址 | 账号 | 密码 |
---|---|---|---|---|---|---|
192.168.0.115 | mq-01 | rabbitmq master | 5672 | http://192.168.0.115:15672 | guest | guest |
192.168.0.117 | mq-02 | rabbitmq slave | 5672 | http://192.168.0.117:15672 | guest | guest |
192.168.0.118 | mq-03 | rabbitmq slave | 5672 | http://192.168.0.118:15672 | guest | guest |
192.168.0.119 | hk-01 | haproxy+keepalived | 8100 | http://192.168.0.119:8100/rabbitmq-stats | admin | 123456 |
192.168.0.120 | hk-02 | haproxy+keepalived | 8100 | http://192.168.0.120:8100/rabbitmq-stats | admin | 123456 |
haproxy 常用命令:
命令 | 说明 |
---|---|
/app/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg | 启动haproxy 服务 |
ps -ef |grep haproxy | 查看haproxy 服务的进程状态 |
killall haproxy | 停止haproxy 服务 |
注: | 执行killall haproxy命令的前提就是,不能又进行调用haproxy服务,例如:keepalived正在调用 haproxy服务,执行killall haproxy命令无效 |
重新启动haproxy 服务
/app/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -st `cat /var/run/haproxy.pid`
接上一篇:RabbitMQ+haproxy+keeplived 高可用负载均衡镜像集群模式_RabbitMQ 高可用镜像集群队列_01
文章目录
- 一、Haproxy简介
- 二、Haproxy 安装实战操作
- 2.1. 下载环境+工具依赖包
- 2.2.下载 haproxy
- 2.3. 解压haproxy
- 2.4. 进入解压目录、进行编译、安装haproxy
- 2.5. 创建+配置haproxy配置文件
- 2.6. 同步+修改配置haproxy文件
- 2.7. 启动haproxy
- 2.8. 查看haproxy进程状态
- 三、浏览器访问+验证 haproxy
一、Haproxy简介
HAProxy是一款提供高可用性、负载均衡以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。
HAProxy适用于那些负载较大的web站点,这些站点通常又需要会话保持或七层处理。
HAProxy可以支持数以万计的并发连接,并且HAProxy的运行模式使得它可以很简单安全的整合进架构中,同时可以保护web服务器不被暴露到网络上。
二、Haproxy 安装实战操作
PS:119、120 节点同时安装Haproxy,下面步骤同步操作
2.1. 下载环境+工具依赖包
yum install gcc vim wget
2.2.下载 haproxy
wget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-2.1.2.tar.gz/sha512/929d244a67f93337e3c791b1a29f9643ac288acdf0090dc7a05c72caf61c3b04ef376b84737351f0c54d58bca66ed8af18faa20ec3adc97067313732e0dfcd7d/haproxy-2.1.2.tar.gz
注:官网下载太慢
建议使用传送门
各个版本链接如下:
https://src.fedoraproject.org/repo/pkgs/haproxy/
为了节省时间,把下载好的软件包同步到120服务器
scp haproxy-2.1.2.tar.gz root@192.168.0.120:/app/software
2.3. 解压haproxy
tar -zxf haproxy-2.1.2.tar.gz -C /app/
2.4. 进入解压目录、进行编译、安装haproxy
#进入指定的解压目录
cd /app/haproxy-2.1.2/
#对haproxy进行源码编译
make TARGET=linux31 PREFIX=/app/haproxy
#安装 编译好的haproxy 并指定安装目录(根据公司要求)
make install PREFIX=/app/haproxy
#创建haproxy目录放置配置文件
mkdir /etc/haproxy
#赋权
groupadd -r -g 149 haproxy
useradd -g haproxy -r -s /sbin/nologin -u 149 haproxy
#创建haproxy配置文件
touch /etc/haproxy/haproxy.cfg
Haproxy配置
PS:haproxy 配置文件haproxy.cfg详解
vim /etc/haproxy/haproxy.cfg
给120服务器将此配置文件同步到/etc/haproxy目录下面
记得要修改一下haproxy的ip地址
2.5. 创建+配置haproxy配置文件
#创建haproxy配置文件
touch /etc/haproxy/haproxy.cfg
#Haproxy配置
PS:haproxy 配置文件haproxy.cfg详解
vim /etc/haproxy/haproxy.cfg
添加内容如下:
#logging options
globallog 127.0.0.1 local0 info #日志输出配置,所有日志都记录在本机,通过local0输出maxconn 5120chroot /app/haproxy #haproxy 安装路径uid 99 #所属运行的用户uidgid 99 #所属运行的用户组daemon #后台运行quietnbproc 20pidfile /var/run/haproxy.pid #指定PID文件路径defaultslog global#使用4层代理模式,"mode http"为7层代理模式mode tcp#if you set mode to tcp,then you nust change tcplog into httplogoption tcplogoption dontlognullretries 3option redispatchmaxconn 2000#连接超时时间timeout connect 5s#客户端空闲超时时间为 60秒 则HA 发起重连机制timeout client 60s#服务器端连接超时时间为 15秒 则HA 发起重连机制timeout server 15s #front-end IP for consumers and producters
listen rabbitmq_clusterbind 0.0.0.0:5672 #绑定协议端口#配置TCP模式#所处理的类别,默认采用http模式,可配置成tcp作4层消息转发mode tcp#balance url_param userid#balance url_param session_id check_post 64#balance hdr(User-Agent)#balance hdr(host)#balance hdr(Host) use_domain_only#balance rdp-cookie#balance leastconn#balance source //ip#简单的轮询balance roundrobin#负载均衡策略#rabbitmq集群节点配置 #inter 每隔五秒对mq集群做健康检查, 2次正确证明服务器可用,2次失败证明服务器不可用,并且配置主备机制server mq-01 192.168.0.115:5672 check inter 5000 rise 2 fall 2server mq-02 192.168.0.117:5672 check inter 5000 rise 2 fall 2server mq-03 192.168.0.118:5672 check inter 5000 rise 2 fall 2
#配置haproxy web监控,查看统计信息
listen statsbind 192.168.0.119:8100 #前端浏览器中查看统计的WEB界面地址mode httpoption httplog #日志类别,采用httplogstats enablestats auth admin:123456 #设置查看统计的账号密码#设置haproxy监控地址为http://localhost:8100/rabbitmq-statsstats uri /rabbitmq-statsstats refresh 5s #5s刷新一次
注:以上配置基于haproxy-2.1.2 版本,低版本有部分差异
2.6. 同步+修改配置haproxy文件
#将 119 服务器 上的haproxy文件同步至 120 服务器
scp haproxy.cfg root@192.168.0.120:/etc/haproxy
将haproxy服务器IP修改一下即可,其他保持默认
#logging options
globallog 127.0.0.1 local0 info #日志输出配置,所有日志都记录在本机,通过local0输出maxconn 5120chroot /app/haproxy #haproxy 安装路径uid 99 #所属运行的用户uidgid 99 #所属运行的用户组daemon #后台运行quietnbproc 20pidfile /var/run/haproxy.pid #指定PID文件路径defaultslog global#使用4层代理模式,"mode http"为7层代理模式mode tcp#if you set mode to tcp,then you nust change tcplog into httplogoption tcplogoption dontlognullretries 3option redispatchmaxconn 2000#连接超时时间timeout connect 5s#客户端空闲超时时间为 60秒 则HA 发起重连机制timeout client 60s#服务器端连接超时时间为 15秒 则HA 发起重连机制timeout server 15s #front-end IP for consumers and producters
listen rabbitmq_clusterbind 0.0.0.0:5672 #绑定协议端口#配置TCP模式#所处理的类别,默认采用http模式,可配置成tcp作4层消息转发mode tcp#balance url_param userid#balance url_param session_id check_post 64#balance hdr(User-Agent)#balance hdr(host)#balance hdr(Host) use_domain_only#balance rdp-cookie#balance leastconn#balance source //ip#简单的轮询balance roundrobin#负载均衡策略#rabbitmq集群节点配置 #inter 每隔五秒对mq集群做健康检查, 2次正确证明服务器可用,2次失败证明服务器不可用,并且配置主备机制server mq-01 192.168.0.115:5672 check inter 5000 rise 2 fall 2server mq-02 192.168.0.117:5672 check inter 5000 rise 2 fall 2server mq-03 192.168.0.118:5672 check inter 5000 rise 2 fall 2
#配置haproxy web监控,查看统计信息
listen statsbind 192.168.0.120:8100 #前端浏览器中查看统计的WEB界面地址mode httpoption httplog #日志类别,采用httplogstats enablestats auth admin:123456 #设置查看统计的账号密码#设置haproxy监控地址为http://localhost:8100/rabbitmq-statsstats uri /rabbitmq-statsstats refresh 5s #5s刷新一次
注:以上配置基于haproxy-2.1.2 版本,低版本有部分差异
2.7. 启动haproxy
/app/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg
注: -f 指定启动的配置文件
2.8. 查看haproxy进程状态
ps -ef | grep haproxy
119 haproxy 服务器进程状态:
120 haproxy 服务器进程状态:
三、浏览器访问+验证 haproxy
PS:访问如下地址可以对rmq节点进行监控:
http://192.168.0.119:8100/rabbitmq-stats
http://192.168.0.120:8100/rabbitmq-stats
接下一篇:
RabbitMQ+haproxy+keeplived 高可用负载均衡+镜像集群模式_集成高性能高可用组件 Keepalived_03