概述
繼續分享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方面的內容,感興趣的朋友可以關注下~