概述
继续分享mysql高可用集群搭建的内容,前面介绍了haproxy安装部署部分,今天主要介绍安装xinetd服务及相关脚本来检测mycat是否存活。
架构图:
运作理解:主机1与主机2上的keepalived会为该服务器抢占vip,抢占到vip后,对该主机的访问可以通过原来的ip访问,也可以直接通过vip访问,当其中一台宕机时,vip会漂移到另一台机器上,当我们访问VIP时haproxy会根据配置将请求分发到两台Mycat上实现负载均衡,并且haproxy会检测mycat是否存活。
配置监听mycat是否存活
在Mycat server1 Mycat server2上都需要添加检测端口48700的脚本,为此需要用到xinetd,xinetd为linux系统的基础服务,在xinetd目录下面增加脚本与端口的映射配置文件。
1、安装xinetd服务
yum install xinetd -y
2、修改配置
# vim /etc/xinetd.d/mycat_status ====================================== service mycat_status { flags = REUSE socket_type = stream port = 48700 wait = no user = nobody server =/usr/local/bin/mycat_status log_on_failure += USERID disable = no } ======================================
3、创建xinetd启动服务脚本
vim /usr/local/bin/mycat_status ===================================================== #!/bin/bash #/usr/local/bin/mycat_status.sh # This script checks if a mycat server is healthy running on localhost. It will # return: # # "HTTP/1.x 200 OK\r" (if mycat is running smoothly) # # "HTTP/1.x 503 Internal Server Error\r" (else) mycat=`/usr/local/mycat/bin/mycat status |grep 'not running'| wc -l` if [ "$mycat" = "0" ]; then /bin/echo -e "HTTP/1.1 200 OK\r\n" else /bin/echo -e "HTTP/1.1 503 Service Unavailable\r\n" fi =====================================================
4、修改脚本文件权限
chmod 777 /usr/local/bin/mycat_status chmod 777 /etc/xinetd.d/mycat_status
5、将启动脚本加入服务
#vim /etc/services #在末尾加入 mycat_status 48700/tcp # mycat_status
6、重启xinetd服务
systemctl restart xinetd.service
7、验证mycat_status服务是否启动成功
netstat -antup|grep 48700
注意:/etc/xinetd.d/mycat_status里的service mycat_status(服务名)和port = 48700(端口)要与 /etc/services里的相同。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~