天天看点

HaProxy+Keepalived+Mycat高可用群集配置

本章节主要介绍配置HaProxy+Keepalived高可用群集,Mycat的配置就不在这里做介绍,可以参考我前面写的几篇关于Mycat的文章。

 部署图:

 HaProxy安装

181和179两台服务器安装haproxy的步骤一致

HaProxy配置

global

log 127.0.0.1 local0 ##记日志的功能

maxconn 4096

chroot /usr/local/haproxy

user haproxy

group haproxy

daemon

defaults

log global

option dontlognull

retries 3

option redispatch

maxconn 2000

contimeout 5000

clitimeout 50000

srvtimeout 50000

listen admin_stats 192.168.57.180:48800 ##统计页面

stats uri /admin-status 

stats auth admin:admin

mode http

option httplog

listen mycat_service 192.168.57.180:18066 ##客户端就是通过这个ip和端口进行连接,这个vip和端口绑定的是mycat8066端口

mode tcp

option tcplog

option httpchk OPTIONS * HTTP/1.1\r\nHost:\ www

balance roundrobin

server mycat_181 192.168.57.181:8066 check port 48700 inter 5s rise 2 fall 3

server mycat_179 192.168.57.179:8066 check port 48700 inter 5s rise 2 fall 3

srvtimeout 20000

listen mycat_admin 192.168.57.180:19066 ##客户端就是通过这个ip和端口进行连接,这个vip和端口绑定的是mycat9066端口

server mycat_181 192.168.57.181:9066 check port 48700 inter 5s rise 2 fall 3

server mycat_179 192.168.57.179:9066 check port 48700 inter 5s rise 2 fall 3

配置haproxy记录日志功能

vim /etc/rsyslog.conf

在#### RULES ####上面一行加入以下内容

在local7.* /var/log/boot.log下面加入以下内容

 重启rsyslog服务

将rsyslog加入自动启动服务

配置监听mycat是否存活

安装xinetd插件

创建xinetd启动服务脚本

vim /usr/local/bin/mycat_status

修改脚本文件权限

我就是在这里被坑了很久,根据权威指南上面mycat_status这个脚本里面的内容也有很多问题,好几个地方没有空格.

将启动脚本加入服务

vim /etc/services

在末尾加入

重启xinetd服务

将xinetd加入自启动服务

页面测试

http://192.168.57.180:48800/admin-status

由于179还没有安装好,所以这里179显示连接失败

创建haproxy启停脚本

启动脚本

关闭脚本

授权

Keepalived安装步骤

keepalived的安装步骤过程在两台服务器上除了keepalived.conf配置文件稍微有点区别外其他的地方都一致。

openssl安装

在文件末尾加入以下内容

修改环境变量

vim /etc/profile

使环境变量立刻生效

安装openssl-devel

测试

keepalived安装

创建配置文件和脚本

vim /etc/keepalived/keepalived.conf

master

backup

vim /etc/keepalived/scripts/check_haproxy.sh

vim /etc/keepalived/scripts/haproxy_master.sh

vim /etc/keepalived/scripts/haproxy_backup.sh

vim /etc/keepalived/scripts/haproxy_fault.sh

vim /etc/keepalived/scripts/haproxy_stop.sh

 赋予脚本可执行权限

将keepalived加入自启动服务

权威指南上面代码部分好多处都存在问题,几乎每一块代码都存在问题,有时候往往一个空格需要花很长的时间去找这个问题,所以在代码方面要细心;特别是复制别人的代码不要原本照抄最好是检查一下,除了代码本身的问题权限有时候也是容易忽略的错误,特别是可执行文件要注意是否有可执行权限。

本文转自 Mr_sheng 51CTO博客,原文链接:http://blog.51cto.com/sf1314/2073257