MHA(Master High Availability)

一、概述
目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

是一款开源的MYSQL的高可用程序,它为主从复制构架提供了 automating master failover 功能。MHA在监控到master 节点故障时,会提升其中拥有最新数据的slave节点成为新的master节点,在此期间,MHA会通过于其它的从节点获取额外信息来避免一致性方面的问题。MHA还提供了master节点在线切换功能,即按需切换master/slave节点。

MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。

在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用MySQL 5.5的半同步复制,可以大大降低数据丢失的风险。MHA可以与半同步复制结合起来。如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性。

目前MHA主要支持一主多从的架构,要搭建MHA,要求一个复制集群中必须最少有三台数据库服务器,一主二从,即一台充当master,一台充当备用master,另外一台充当从库,因为至少需要三台服务器,出于机器成本的考虑,淘宝也在该基础上进行了改造,目前淘宝TMHA已经支持一主一从。

1、复制机制
(1)从宕机崩溃的master保存二进制日志事件(binlog events);
(2)识别含有最新更新的slave;
(3)应用差异的中继日志(relay log)到其他的slave;
(4)应用从master保存的二进制日志事件(binlog events);
(5)提升一个slave为新的master;
(6)使其他的slave连接新的master进行复制;

2、Manager工具包主要包括以下几个工具:
masterha_check_ssh:检查MHA的SSH配置加测工具
masterha_check_repl:检查MySQL复制环境检测工具
masterha_manger:启动MHA服务主程序
masterha_check_status :检测当前MHA运行状态探测工具
masterha_master_monitor:检测master是否宕机
masterha_master_switch:控制故障转移(自动或者手动)
masterha_conf_host :添加或删除配置的server信息

3、Node工具包(这些工具通常由MHA Manager的脚本触发,无需人为操作)主要包括以下几个工具:
save_binary_logs:保存和复制master的二进制日志
apply_diff_relay_logs:识别差异的中继日志事件并将其差异的事件应用于其他的slave
filter_mysqlbinlog:去除不必要的ROLLBACK事件(MHA已不再使用这个工具)
purge_relay_logs:清除中继日志(不会阻塞SQL线程)

4、自定义扩展:
secondary_check_script:通过多条网络路由检测master可用性
master_ip_failover_script:更新application使用masterip
shutdown_script:发送报告
report_script:加载初始配置参数
init_conf_load_script:更新master节点ip地址
二、配置MHA

1、准备配置环境:

node4:MHA Manager
node1:mariadb master
node2: mariadb slave1
node3: mariadb slave2
(1)安装mariadb:
centos 6:
# vim /etc/yum.repos.d/MariaDB.repo
# MariaDB 5.5 CentOS repository list – created 2017-09-08 04:59 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

# yum -y install epel-release;yum -y install MariaDB-server;

centos 7:
# vim /etc/yum.repos.d/MariaDB.repo
# MariaDB 5.5 CentOS repository list – created 2017-09-08 05:01 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

# yum -y install epel-release;yum -y install MariaDB-server;

(2)配置ssh环境
# cat .ssh/id_rsa.pub > .ssh/authorized_keys
# ssh root@node1 ‘ mkdir -pv /root/.ssh/’;ssh root@node2 ‘ mkdir -pv /root/.ssh/’;ssh root@node3 ‘mkdir -pv /root/.ssh/’
# scp .ssh/authorized_keys root@node1:/root/.ssh/;scp .ssh/authorized_keys root@node2:/root/.ssh/;# ssh-copy-id -i /root/.ssh/id_rsa.pub root@node3
# ssh root@node1 ‘ip addr’;ssh root@node2 ‘ip addr’;ssh root@node3 ‘ip addr’

(3)配置域名解析:
# vim /etc/hosts
192.168.40.138 node1.zmjcd.cc node1 master
192.168.40.136 node2.zmjcd.cc node2 slave1
192.168.40.129 node3.zmjcd.cc node3 slave2
192.168.40.137 node4.zmjcd.cc node4 manager

# scp /etc/hosts root@node1:/etc/;scp /etc/hosts root@node2:/etc/;scp /etc/hosts root@node1:/etc/

2、安装mysql
node1 master:
# vim /etc/my.cnf.d/server.cnf
[mysqld]
socket=/var/lib/mysql/mysql.sock
user=mysql
datadir = /mariadb/data
log_error = /mariadb/log/mysql-error.log
slow_query_log_file = /mariadb/log/mysql-slow.log
slow_query_log = 1
long_query_time = 1
innodb_force_recovery = 0
skip_name_resolve = ON
max_connect_errors = 6000 #最大连接错误
open_files_limit = 65535 #最大打开文件句柄限制
lower_case_table_names = 1 #忽略大小写
innodb_file_per_table = 1 #每个innodb表单独存放
innodb_import_table_from_xtrabackup = 1 #允许xtrabackup导入数据

server_id=1 #主从复制必须配置且不重复
log-bin = /mariadb/log/master-bin
relay_log=relay_log #启动中继日志,主从复制使用
relay_log_index=relay_log_index #启动中继日志条目

sync_master_info = 1 #立即同步二进制日志
sync_relay_log = 1 #是不是每次写入后是否立即把内存数据写入中继日志
sync_relay_log_info = 1 #是不是每次写入后都理解跟新info文件信息
sync_binlog = 1
innodb_flush_log_at_trx_commit #在事务提交时把内存中事务相关的事务立即刷写到磁盘事务日志中
innodb_support_xa=ON #innodb是否支持分布式事务
# mkdir -pv /mariadb/data
# mkdir -pv /mariadb/log/
# mkdir -pv /var/lib/mysql/
# chown -R mysql:mysql /mariadb/

slave node2 node3:
# vim /etc/my.cnf.d/server.cnf
[mysqld]
socket=/var/lib/mysql/mysql.sock
user=mysql
datadir = /mariadb/data
log_error = /mariadb/log/mysql-error.log
slow_query_log_file = /mariadb/log/mysql-slow.log
slow_query_log = 1
long_query_time = 1
innodb_force_recovery = 0
skip_name_resolve = ON
max_connect_errors = 6000 #最大连接错误
open_files_limit = 65535 #最大打开文件句柄限制
lower_case_table_names = 1 #忽略大小写
innodb_file_per_table = 1 #每个innodb表单独存放
innodb_import_table_from_xtrabackup = 1 #允许xtrabackup导入数据

server_id=10
relay-log=/mariadb/log/relay-bin
log-bin=/mariadb/log/master-bin
relay_log_purge-0
read_only=1

sync_master_info = 1 #立即同步二进制日志
sync_relay_log = 1 #是不是每次写入后是否立即把内存数据写入中继日志
sync_relay_log_info = 1 #是不是每次写入后都理解跟新info文件信息
sync_binlog = 1
innodb_flush_log_at_trx_commit #在事务提交时把内存中事务相关的事务立即刷写到磁盘事务日志中
innodb_support_xa=ON #innodb是否支持分布式事务
# this is only for embedded server

# mkdir -pv /mariadb/data
# mkdir -pv /mariadb/log/
# mkdir -pv /var/lib/mysql/

# mysql_install_db
# chown -R mysql:root /mariadb/

# mysql_install_db
# nohup mysqld &

3、启动主从复制
master:
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘copyuser’@’192.168.%.%’ IDENTIFIED BY ‘copy’;
flush privileges;

slave1:
CHANGE MASTER TO
MASTER_HOST=’192.168.40.138′,
MASTER_USER=’copyuser’,
MASTER_PASSWORD=’copy’,
MASTER_PORT=3306,
MASTER_LOG_FILE=’master-bin.000003′,
MASTER_LOG_POS=245,
MASTER_CONNECT_RETRY=10;

start slave;
MariaDB [(none)]> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.40.138
Master_User: copyuser
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: master-bin.000003
Read_Master_Log_Pos: 1016
Relay_Log_File: relay-bin.000002
Relay_Log_Pos: 1301
Relay_Master_Log_File: master-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 1016
Relay_Log_Space: 1589
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
1 row in set (0.00 sec)
4、安装MHA
node4 manager:
# yum -y install mha4mysql-node-0.56-0.el6.noarch.rpm
# yum -y install mha4mysql-manager-0.56-0.el6.noarch.rpm
# scp mha4mysql-node-0.56-0.el6.noarch.rpm root@node1:/root/;scp mha4mysql-node-0.56-0.el6.noarch.rpm root@node2:/root/;scp mha4mysql-node-0.56-0.el6.noarch.rpm root@node3:/root/

node1(master) node2(slave1) node3(slave2):
# yum -y install mha4mysql-node-0.56-0.el6.noarch.rpm
数据库创建mha账号:
GRANT ALL PRIVILEGES ON *.* TO ‘mhadmin’@’192.168.40.%’ IDENTIFIED BY ‘password’;
FLUSH PRIVILEGES;

# mkdir -pv /etc/masterha/
# vim /etc/masterha/app1.cnf
[server default]
#刚才授权的mysql管理用戶名
user=mhadmin
password=password
manager_workdir=/mha
manager_log=/mha/manager.log
remote_workdir=/mha
#ssh免密钥登录的帐号名
ssh_user=root
#mysql复制帐号,用来在主从机之间同步二进制日志等
repl_user=copyuser
repl_password=copy
#ping间隔,用来检测master是否正常
ping_interval= 1

[server1]
hostname=node1
master_binlog_dir=/mariadb/log/
#候选人,master挂掉时候优先让它顶
candidate_master=1

[server2]
hostname=node2
master_binlog_dir=/mariadb/log/
candidate_master=1

[server3]
hostname=node3
master_binlog_dir=/mariadb/log/
#不能成为master
no_master=1
# scp /root/.ssh/* root@node1:/root/.ssh/
# scp /root/.ssh/* root@node2:/root/.ssh/
# scp /root/.ssh/* root@node3:/root/.ssh/
检查MHA Manger到所有MHA Node的SSH连接状态:
测试通过:
# masterha_check_ssh –conf=/etc/masterha/app1.cnf
Fri Sep 8 06:14:02 2017 – [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Fri Sep 8 06:14:02 2017 – [info] Reading application default configuration from /etc/masterha/app1.cnf..
Fri Sep 8 06:14:02 2017 – [info] Reading server configuration from /etc/masterha/app1.cnf..
Fri Sep 8 06:14:02 2017 – [info] Starting SSH connection tests..
Fri Sep 8 06:14:05 2017 – [debug]
Fri Sep 8 06:14:03 2017 – [debug] Connecting via SSH from root@node3(192.168.40.129:22) to root@node1(192.168.40.138:22)..
Warning: Permanently added ‘192.168.40.138’ (RSA) to the list of known hosts.
Fri Sep 8 06:14:04 2017 – [debug] ok.
Fri Sep 8 06:14:04 2017 – [debug] Connecting via SSH from root@node3(192.168.40.129:22) to root@node2(192.168.40.136:22)..
Warning: Permanently added ‘192.168.40.136’ (RSA) to the list of known hosts.
Fri Sep 8 06:14:05 2017 – [debug] ok.
Fri Sep 8 06:14:05 2017 – [debug]
Fri Sep 8 06:14:02 2017 – [debug] Connecting via SSH from root@node2(192.168.40.136:22) to root@node1(192.168.40.138:22)..
Fri Sep 8 06:14:03 2017 – [debug] ok.
Fri Sep 8 06:14:03 2017 – [debug] Connecting via SSH from root@node2(192.168.40.136:22) to root@node3(192.168.40.129:22)..
Fri Sep 8 06:14:05 2017 – [debug] ok.
Fri Sep 8 06:14:05 2017 – [debug]
Fri Sep 8 06:14:02 2017 – [debug] Connecting via SSH from root@node1(192.168.40.138:22) to root@node2(192.168.40.136:22)..
Fri Sep 8 06:14:03 2017 – [debug] ok.
Fri Sep 8 06:14:03 2017 – [debug] Connecting via SSH from root@node1(192.168.40.138:22) to root@node3(192.168.40.129:22)..
Fri Sep 8 06:14:04 2017 – [debug] ok.
Fri Sep 8 06:14:05 2017 – [info] All SSH connection tests passed successfully.

检查整个复制环境状况。
测试通过:
# masterha_check_repl –conf=/etc/masterha/app1.cnf
Fri Sep 8 06:16:28 2017 – [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Fri Sep 8 06:16:28 2017 – [info] Reading application default configuration from /etc/masterha/app1.cnf..
Fri Sep 8 06:16:28 2017 – [info] Reading server configuration from /etc/masterha/app1.cnf..
Fri Sep 8 06:16:28 2017 – [info] MHA::MasterMonitor version 0.56.
Fri Sep 8 06:16:29 2017 – [info] GTID failover mode = 0
Fri Sep 8 06:16:29 2017 – [info] Dead Servers:
Fri Sep 8 06:16:29 2017 – [info] Alive Servers:
Fri Sep 8 06:16:29 2017 – [info] node1(192.168.40.138:3306)
Fri Sep 8 06:16:29 2017 – [info] node2(192.168.40.136:3306)
Fri Sep 8 06:16:29 2017 – [info] node3(192.168.40.129:3306)
Fri Sep 8 06:16:29 2017 – [info] Alive Slaves:
Fri Sep 8 06:16:29 2017 – [info] node2(192.168.40.136:3306) Version=5.5.57-MariaDB (oldest major version between slaves) log-bin:enabled
Fri Sep 8 06:16:29 2017 – [info] Replicating from 192.168.40.138(192.168.40.138:3306)
Fri Sep 8 06:16:29 2017 – [info] Primary candidate for the new Master (candidate_master is set)
Fri Sep 8 06:16:29 2017 – [info] node3(192.168.40.129:3306) Version=5.5.57-MariaDB (oldest major version between slaves) log-bin:enabled
Fri Sep 8 06:16:29 2017 – [info] Replicating from 192.168.40.138(192.168.40.138:3306)
Fri Sep 8 06:16:29 2017 – [info] Not candidate for the new Master (no_master is set)
Fri Sep 8 06:16:29 2017 – [info] Current Alive Master: node1(192.168.40.138:3306)
Fri Sep 8 06:16:29 2017 – [info] Checking slave configurations..
Fri Sep 8 06:16:29 2017 – [warning] relay_log_purge=0 is not set on slave node2(192.168.40.136:3306).
Fri Sep 8 06:16:29 2017 – [warning] relay_log_purge=0 is not set on slave node3(192.168.40.129:3306).
Fri Sep 8 06:16:29 2017 – [info] Checking replication filtering settings..
Fri Sep 8 06:16:29 2017 – [info] binlog_do_db= , binlog_ignore_db=
Fri Sep 8 06:16:29 2017 – [info] Replication filtering check ok.
Fri Sep 8 06:16:29 2017 – [info] GTID (with auto-pos) is not supported
Fri Sep 8 06:16:29 2017 – [info] Starting SSH connection tests..
Fri Sep 8 06:16:32 2017 – [info] All SSH connection tests passed successfully.
Fri Sep 8 06:16:32 2017 – [info] Checking MHA Node version..
Fri Sep 8 06:16:34 2017 – [info] Version check ok.
Fri Sep 8 06:16:34 2017 – [info] Checking SSH publickey authentication settings on the current master..
Fri Sep 8 06:16:35 2017 – [info] HealthCheck: SSH to node1 is reachable.
Fri Sep 8 06:16:36 2017 – [info] Master MHA Node version is 0.56.
Fri Sep 8 06:16:36 2017 – [info] Checking recovery script configurations on node1(192.168.40.138:3306)..
Fri Sep 8 06:16:36 2017 – [info] Executing command: save_binary_logs –command=test –start_pos=4 –binlog_dir=/mariadb/log/ –output_file=/mha/save_binary_logs_test –manager_version=0.56 –start_file=master-bin.000003
Fri Sep 8 06:16:36 2017 – [info] Connecting to root@192.168.40.138(node1:22)..
Creating /mha if not exists.. Creating directory /mha.. done.
ok.
Checking output directory is accessible or not..
ok.
Binlog found at /mariadb/log/, up to master-bin.000003
Fri Sep 8 06:16:36 2017 – [info] Binlog setting check done.
Fri Sep 8 06:16:36 2017 – [info] Checking SSH publickey authentication and checking recovery script configurations on all alive slave servers..
Fri Sep 8 06:16:36 2017 – [info] Executing command : apply_diff_relay_logs –command=test –slave_user=’mhadmin’ –slave_host=node2 –slave_ip=192.168.40.136 –slave_port=3306 –workdir=/mha –target_version=5.5.57-MariaDB –manager_version=0.56 –relay_log_info=/mariadb/data/relay-log.info –relay_dir=/mariadb/data/ –slave_pass=xxx
Fri Sep 8 06:16:36 2017 – [info] Connecting to root@192.168.40.136(node2:22)..
Creating directory /mha.. done.
Checking slave recovery environment settings..
Opening /mariadb/data/relay-log.info … ok.
Relay log found at /mariadb/log, up to relay-bin.000002
Temporary relay log file is /mariadb/log/relay-bin.000002
Testing mysql connection and privileges.. done.
Testing mysqlbinlog output.. done.
Cleaning up test file(s).. done.
Fri Sep 8 06:16:37 2017 – [info] Executing command : apply_diff_relay_logs –command=test –slave_user=’mhadmin’ –slave_host=node3 –slave_ip=192.168.40.129 –slave_port=3306 –workdir=/mha –target_version=5.5.57-MariaDB –manager_version=0.56 –relay_log_info=/mariadb/data/relay-log.info –relay_dir=/mariadb/data/ –slave_pass=xxx
Fri Sep 8 06:16:37 2017 – [info] Connecting to root@192.168.40.129(node3:22)..
Creating directory /mha.. done.
Checking slave recovery environment settings..
Opening /mariadb/data/relay-log.info … ok.
Relay log found at /mariadb/log, up to relay-bin.000002
Temporary relay log file is /mariadb/log/relay-bin.000002
Testing mysql connection and privileges.. done.
Testing mysqlbinlog output.. done.
Cleaning up test file(s).. done.
Fri Sep 8 06:16:38 2017 – [info] Slaves settings check done.
Fri Sep 8 06:16:38 2017 – [info]
node1(192.168.40.138:3306) (current master)
+–node2(192.168.40.136:3306)
+–node3(192.168.40.129:3306)

Fri Sep 8 06:16:38 2017 – [info] Checking replication health on node2..
Fri Sep 8 06:16:38 2017 – [info] ok.
Fri Sep 8 06:16:38 2017 – [info] Checking replication health on node3..
Fri Sep 8 06:16:38 2017 – [info] ok.
Fri Sep 8 06:16:38 2017 – [warning] master_ip_failover_script is not defined.
Fri Sep 8 06:16:38 2017 – [warning] shutdown_script is not defined.
Fri Sep 8 06:16:38 2017 – [info] Got exit code 0 (Not master dead).

MySQL Replication Health is OK.

# mkdir -pv /var/log/masterha/app1
# touch /etc/masterha_default.cnf
# nohup masterha_manager –conf=/etc/masterha/app1.cnf –remove_dead_master_conf –ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &

通过master_check_status脚本查看Manager的状态:
# masterha_check_status –conf=/etc/masterha/app1.cnf
app1 (pid:13077) is running(0:PING_OK), master:node1
[2]+ Exit 1 nohup masterha_manager –conf=/etc/masterha/app1.cnf –remove_dead_master_conf –ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1

检查切换:
root@node1 ~]# ps -ef | grep mysqld
mysql 2710 2582 0 04:39 pts/0 00:00:03 mysqld
root 3429 2582 0 06:25 pts/0 00:00:00 grep –color=auto mysqld
[root@node1 ~]# kill -9 mysqld
-bash: kill: mysqld: arguments must be process or job IDs
[root@node1 ~]# kill -9 2710

slave2:已经到了slave1上了
MariaDB [(none)]> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.40.136
Master_User: copyuser
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: master-bin.000005
Read_Master_Log_Pos: 245
Relay_Log_File: relay-bin.000002
Relay_Log_Pos: 530
Relay_Master_Log_File: master-bin.000005
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 245
Relay_Log_Space: 818
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 10
1 row in set (0.00 sec)

manager现正常监控以及切换了:
# tail -f /var/log/masterha/app1/manager.log
Fri Sep 8 06:23:19 2017 – [info] Reading default configuration from /etc/masterha_default.cnf..
Fri Sep 8 06:23:19 2017 – [info] Reading application default configuration from /etc/masterha/app1.cnf..
Fri Sep 8 06:23:19 2017 – [info] Reading server configuration from /etc/masterha/app1.cnf..
^C
[root@localhost .ssh]# masterha_check_status –conf=/etc/masterha/app1.cnf
app1 (pid:13077) is running(0:PING_OK), master:node1
[2]+ Exit 1 nohup masterha_manager –conf=/etc/masterha/app1.cnf –remove_dead_master_conf –ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1
[root@localhost .ssh]# tail -f /var/log/masterha/app1/manager.log
Fri Sep 8 06:23:19 2017 – [info] Reading default configuration from /etc/masterha_default.cnf..
Fri Sep 8 06:23:19 2017 – [info] Reading application default configuration from /etc/masterha/app1.cnf..
Fri Sep 8 06:23:19 2017 – [info] Reading server configuration from /etc/masterha/app1.cnf..
Creating /mha if not exists.. ok.
Checking output directory is accessible or not..
ok.
Binlog found at /mariadb/log/, up to master-bin.000003
Fri Sep 8 06:26:23 2017 – [info] Reading default configuration from /etc/masterha_default.cnf..
Fri Sep 8 06:26:23 2017 – [info] Reading application default configuration from /etc/masterha/app1.cnf..
Fri Sep 8 06:26:23 2017 – [info] Reading server configuration from /etc/masterha/app1.cnf..

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值