mha搭建问题解决一览,你犯过的错误我全都有

业务需要部署一套mha高可用架构,这里记录下搭建过程中遇到的坑。
本文主要记录安装过程中的问题,对于前期环境准备问题略过。
首先要在集群的机器上

  1. 部署ssh互信,
    过程略
  2. 配置一主俩从
    过程略
  3. 安装依赖
yum install perl-DBD-MySQL \
perl-Config-Tiny \
perl-Time-HiRes \
perl-Mail-Sender \
perl-Mail-Sendmail \
perl-MIME-Base32 \
perl-MIME-Charset \
perl-MIME-EncWords \
perl-Params-Classify \
perl-Params-Validate.x86_64 \
perl-Log-Dispatch \
perl-Parallel-ForkManager \
net-tools -y
  1. 软件安装
    官网下载rpm软件包,yum安装
  • 问题1

这里我装的官网的0.56的,这个是坑的第一步。

masterha_check_status --conf=/etc/mha/app1.conf

在这里插入图片描述
百度后,大家说出现这种问题是因为缺少perl-Mail-Sender和 perl-Log-Dispatch这两个语言环境,需要安装。
但是我执行过,提示我已经安装了,显然我的问题不是这个原因。
反复确认后发现,问题是出现在软件版本上面,我用的是0.56,应该是用0.57,但是官网上最新的包也只有0.56,这不是闹着玩吗。。。。。
百度了一圈,都是要积分下载,有的网站居然要3块钱,不到100k的软件居然用信息差拿来卖钱,这点挺可笑的,不死心的我最后在github上找到了。
https://github.com/lzimd/mha-rpms
卸载了原先的软件,安装0.57版本的软件正常。这里建议先装node,或者直接yum -y install /root/mha4*

  • 问题二

软件安装完成后,要进行互信测试和集群状态测试。在集群状态测试中遇到以下问题。
在这里插入图片描述
提示这个ip没有授权访问对应账号。
这个原因是没有在俩台从库上建立监控账号授权,属于粗心大意。在从库上添加授权即可。

  • 问题三

在这里插入图片描述
这里的问题是因为没有在高可用的从库上建立r1复制账号,将来切换的时候,其他从库无法从101上复制数据,这个需要在从库101上去建立对应账号授权。

  • 问题四

在这里插入图片描述
这里提示没有在101上获取到node版本,检查发现我忘记在从库安装node了,在从库安装node即可。

  • 问题五

在这里插入图片描述
这里提示找不到mysqlbin,我的mysqlbin命令是修改环境变量,调用的。百度查找的结果是需要做对应命令的软连接到/usr/local/bin下面。三台机器都要做。
这里有个插曲就是,我百度到的所有文章都是同样的命令,我直接拿过来就复制了,也没有思考其中的问题,结果多次执行还是报同样的错误。后来想明白需要修改自己的安装目录的命令到/usr/loacl/bin下面。看来凡是还是要动脑子的啊。

  • 问题6

在这里插入图片描述
这个提示没找到mysql命令,同样做软连接到/usr/local/bin下,三台做同样操作。

  • 问题7
    在这里插入图片描述
    这个问题是生产环境暴露的问题,困扰了好久,一直卡在这一步,提示有多个maser,百度大家都说,在俩台从库上设置开启只读mysql -e ‘set global read_only=1’,但是我的俩台从库配置文件里就设置了只读,显然这个方法不适合我。
    原因是什么呢?由于当时是机房批量断电,mha都没来的及做切换,直接挂掉,恢复后开发直接代码中修改从库地址,然后我手动将从库改主。这就导致了原先的从库slave状态没清空,这样就导致明面上有俩个主的情况。但是mha并不认可主库253的身份,
    最后是怎么解决的呢,在现在的主库253上清空了slave。
mysql> STOP SLAVE;
Query OK, 0 rows affected (0.02 sec)

mysql> reset slave all;
Query OK, 0 rows affected (0.02 sec)

mysql> show slave status\G
Empty set (0.00 sec)
  • 问题8
Tue Aug 31 03:08:10 2021 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln492]  Server 10.157.21.215(10.157.21.215:3306) is dead, but must be alive! Check server settings.
Tue Aug 31 03:08:10 2021 - [error][/usr/share/perl5/vendor_perl/MHA/ManagerUtil.pm, ln177] Got ERROR:  at /usr/share/perl5/vendor_perl/MHA/MasterFailover.pm line 268.
Wed Sep  8 08:57:54 2021 - [info] MHA::MasterMonitor version 0.56.

这个错误提示215不存活,网上搜了好多,都没啥用,也是困了好久,后来想起来是不是防火墙拦截了,结果万万没想到,真的就是没关防火墙,之前的运维只关闭了防火墙,没有关闭开机自启动,这次重启后,防火墙又重新开启了。之所以没考虑这方面,还是考虑都别人搭建过一遍的,网络方面应该没啥问题,所有问题办法测试过了,没办法了才抱着试试看的心态,看下网络,白折腾这么久了。。。。
在这里插入图片描述

其实好多问题都是粗心大意导致的,细心点完全可以避免。如果事先考虑清楚的话,可以省下好多时间成本。吃一堑长一智吧,菜鸟先飞!!!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值