【MHA】MySQL高可用MHA介绍6-后台运行与管理多套集群

时间:2024-04-26 06:58:55

1 后台运行

默认情况下,masterha_manager在前台运行。您可以将masterha_manager程序在后台运行,如下所示。

manager_host$ nohup masterha_manager --conf=/etc/app1.cnf < /dev/null > /var/log/masterha/app1/app1.log 2>&1 &

设置nohup,并确保masterha_manager不会从STDIN、STDOUT和STDERR读取/写入。

2 使用daemontools从运行MHA Manager

目前,MHA Manager进程不作为守护程序运行。如果故障切换成功完成,或者主进程意外终止,管理器将停止工作。要作为守护程序运行,可以使用daemontool或任何外部守护程序。以下是从daemontools运行的示例。

1 - 安装daemontools

For RedHat
manager_host# yum install daemontools

2 - 在/service/masterha_(app_name)/目录下创建run文件

manager_host# mkdir /service/masterha_app1
manager_host# cat /service/masterha_app1/run
#!/bin/sh
exec masterha_manager --conf=/etc/app1.cnf --wait_on_monitor_error=60 --wait_on_failover_error=60 >> /var/log/masterha/app1/app1.log 2>&1
manager_host# chmod 755 /service/masterha_app1/run

您可以通过daemontool命令停止/重新启动监视。

## stopping monitoring
manager_host# svc -d /service/masterha_app1

## starting monitoring
manager_host# svc -u /service/masterha_app1

3 监控多个MySQL集群

您可能希望从单个管理服务器监控多个(主服务器,从属服务器)对。这很容易实现。只需为应用程序2创建一个新的配置文件,并通过设置--conf=(另一个配置文件)启动masterha_manager。

# masterha_manager --conf=/etc/conf/masterha/app1.cnf
# masterha_manager --conf=/etc/conf/masterha/app2.cnf

如果在app1和app2之间有一些相同的参数,则建议将这些参数设置在全局配置文件中。有关详细信息,请参阅配置部分。