【 MHA 】Management&Maintain
文章目录
MHA 维护命令
SSH登陆检查
1 | masterha_check_ssh --conf=/mha/mha_groups/app1.cnf |
REPL 健康检查
1 | masterha_check_repl --conf=/mha/mha_groups/app1.cnf |
启动MHA监控进程
1 | nohup masterha_manager --conf=/mha/mha_groups/app1.cnf > /tmp/mha_manager.log < /dev/null 2>&1 & |
–ignore_fail_on_start 即使有节点宕掉也能启动mha
1 | masterha_manager --conf=/mha/mha_groups/app1.cnf --ignore_fail_on_start > /tmp/mha_manager.log < /dev/null 2>&1 & |
检查监控进程的状态
1 | masterha_check_status --conf=/mha/mha_groups/app1.cnf |
停止监控进程
1 | masterha_stop --conf=/mha/mha_groups/app1.cnf |
注意
-failover切换后会在管理目录生成文件app1.failover.complete ,下次在切换的时候会发现有这个文件导致切换不成功,需要手动清理掉。
rm -rf /masterha/app1/app1.failover.complete
也可以加上参数–ignore_last_failover
人为手工切换failover
masterha_manager没有开启,可以通过手工failover:
1 | masterha_master_switch --conf=/mha/mha_groups/app1.cnf --dead_master_host=192.168.224.14 --dead_master_port=3307 --master_state=dead --new_master_host=192.168.224.13 --new_master_port=3307 --ignore_last_failover |
手动正常切换
人为在线切换之前需要停掉 mha监控进程:
1 | masterha_stop --conf=/mha/mha_groups/app1.cnf |
然后手动切换
1 | masterha_master_switch --conf=/mha/mha_groups/app1.cnf --master_state=alive --new_master_host=192.168.224.14 --new_master_port=3307 --orig_master_is_new_slave |
或者
1 | masterha_master_switch --conf=/etc/app1.cnf --master_state=alive --new_master_host=192.168.119.74 --orig_master_is_new_slave --running_updates_limit=10000 |
或者:
1 | masterha_master_switch --conf=/mha/mha_groups/app1.cnf --master_state=alive --orig_master_is_new_slave |
–orig_master_is_new_slave 将原master变为slave节点
–running_updates_limit=10000 切换时候选master如果有延迟的话,mha切换不能成功,加上此参数表示延迟在此时间范围内都可切换(单位为s)
Summary
MHA 总体还是比较简单的,测试过程中没有出过太多问题, 接下来我们会针对,内部DNS和MHA结合的部分来进行大致的代码实现。