keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

    医院里,一母亲带着小女孩打针。小女孩:“妈妈我不想打针,疼!”妈妈:“宝贝儿听话,这里这么多护士阿姨,咱们找个打针不疼的。”小女孩:“那哪个阿姨打针不疼呢?”妈妈:“妈妈也不知道,咱们试试看吧。”小女孩高兴的点了点头。。。

keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

  路漫漫其修远兮,吾将上下而求索!

  github:https://github.com/youzhibing

  码云(gitee):https://gitee.com/youzhibing

问题背景

  Mycat - 实现数据库的读写分离与高可用写完之后,本以为一两天就能写完Mycat - 高可用与负载均衡实现,满满的干货!,可事实是却用了一个星期;期间虽然产生了一系列的问题,但主要还是卡在了keeplaived实现mycat的高可用,那时候两台keepalived服务器的keepalived.conf内容如下

keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

  细心的朋友应该已经找到问题了,不管你找没找到问题,都可以准备好花生、瓜子和啤酒,且看我是如何埋雷和扫雷的 

keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

vip查看问题

  个人一直用ifconfig命令来管理linux的网络配置,但是keepalived启动之后通过ifconfig命令却看不到vip。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一,大多数Linux发行版已经预装了iproute2工具,而没有预装net-tools,ip命令功能更强大,旨在取代ifconfig。我们可以用ip命令查看vip的绑定情况,具体如下

keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

  这个问题还真卡了我一会,一直以为vip绑定失败,但是看/var/log/message,又没发现有什么问题,并且还能ping通vip。我这个无知者是有多无畏、多自信呀!

keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

  更多关于ifconfig、ip的信息,大家可以去网上查阅,这里我就不细讲了(其实是不知道,

keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

)。

检测脚本问题

  单独执行命令是正确的;命令放入检测脚本中,部分是正确的;检测脚本结合keepalived,正确的更少了,具体我们往下看

  ps命令查询mycat进程

    check_pid.sh具体配置如下

keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

#!/bin/bash count=`ps -ef|grep mycat |grep -v grep | wc -l` time=$(date "+%Y-%m-%d %H:%M:%S") if [ $count = 0 ]; then echo "$time : count=$count, mycat is not running..." >> /var/log/keepalived_check.log exit 1 # 返回1说明脚本非正常执行,mycat不在运行中 else echo "$time : count=$count, mycat is running..." >> /var/log/keepalived_check.log exit 0 # 返回0说明脚本正常执行,mycat正在运行中 fi

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsjwy.html