详解linux安装部署xinetd服务教程--监听mycat是否存活

2019-10-06   波波说运维

概述

继续分享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方面的内容,感兴趣的朋友可以关注下~