105-MHA

一.MHA簡介

1.1.簡介

        MHA(Master HA ) 是一款開源的 MySQL高可用程序,它為MYSQL 主從復制架構提供了automating master failover

主節點自動遷移功能.MHA在監控到master節點故障時候,會自動提升擁有的數據最近進于主節點的其他從節點為主節點,

并且在此期間,會通過其他節點獲取額外的信息來避免數據不一致性的問題.MHA也提供master節點的在線切換功能,

即按需切換master/slave節點.

1.2.MHA服務角色

        MHA Manager (管理節點): 通用單獨部署一臺機器專門用于管理一個或者多個master/slaver集群,每個master/slave
集群成為一個application;
        MHA  node(數據節點) : 運行在每臺mysql 服務器上(master或slave或manager),它通過監控具備解析和清理logs

功能的腳本來實現以及加速故障轉移

        MHA結構示意圖:
                                105-MHA

                              105-MHA
 

1.3.MHA故障轉移步驟

         當Mysql 集群中的master 節點發生故障時,MHA會自動將其他slave節點按一下步驟提升為master,并自動轉移和補齊缺失數據.
          master切換/故障轉移示意圖:105-MHA

             1.當master故障時候,會查找其他slave節點中,數據最接近于master的latest-slave節點,提升為master
             2.查找latest-slave中缺失的數據部分,從其他slave中獲取,以還原為dead-master原擁有的完整數據. 

1.4 MHA組件

 1.4.1 Manager節點工具程序:

            – masterha_check_ssh: MHA依賴的SSH環境檢測工具(檢測節點之間的SSH通信狀況)
            – masterha_check_repl: Mysql 復制環境檢測工具;
            – masterha_manager: MHA服務主程序;
            – masterha_check_status: MHA運行狀態探測工具;
            – masterha_master_monitor: Mysql master 節點可用性檢測工具;
            – masterha _master_switch: master節點切換工具;
            – masterha_conf_host: 添加或刪除配置的節點;
            – masterha_stop; 關閉MHA服務的工具;

1.4.2 Node節點工具程序:

            – save_binary_logs: 用于保存和復制master的二進制日志專用工具;
            – apply_diff_relay_logs: 用于識別差異的中繼日志時間,并應用于其他slave節點;
            – filter_mysqlbinlog: 去除不必要的roolback事件(MHA已經不再使用此工具)
            – purge_relay_logs: 清楚中繼日志(不會阻塞SQL線程);

1.4.3 其定義拓展:

            – secondary_check_script:  通過多條網絡路由檢測master的可用性;
            – shutdown_script: 強制關閉master節點;
            – master_ip_failover_script:  更新application 使用的masterip;
            – report_script : 用于發送報告;
            – init_conf_load_script: 用于加載初始化配置參數;
            – master_ip_online_change_script: 更新master節點Ip地址;

二.MHA環境要求

2.1 Mysql replication 環境準備

2.1.1 MHA mysql 復制環境要求:

            1.各節點需要開啟二進制日志以及中繼日志;
                   log-bin=master-bin
                    relay-log=relay-bin
            2.全部從節點需要開啟只讀模式,并關閉relay_log_purge
                    read-only=1
                    relay_log_purge=0
            3. 各節點ID在集群中必須唯一,不可以沖突
                    server_id=#
            4. MHA需要基于mysql 主從復制模式下工作,因此啟用MHA之前,需要確保各 mysql 主從復制節點工作正常
            5. 確保從節點上slave IO,SQL線程工作正常;
            6. 所有mysql節點需要授權擁有管理權限的用戶,以供任意節點間的互相訪問
                mysql> GRANT ALL ON *.* TO ‘mhaadmin’@’IP_ADDR’ IDENTIFIED BY ‘mhappss’;
            7. 在manager-node 節點 上創建公鑰私鑰,并將其復制到全部節點上,以確保節點之間可以基于相同的key通信

2.1.2 MHA初始化以及配置文件

            Manager 節點需要為每個受監控的master/slave集群提供一個專用的配置文件,而所有的master/slave集群,也
            可以共享一個全局的配置.全局配置文件默認為/etc/masterha_default.cnf(此為可選項).
            若只監控一組master/slave集群,可以直接通過application 的配置來提供各服務器的默認配置信息,同時,每個
            application的配置文件路徑為自定.
            

三. MHA 實例

3.1.環境說明:

                        105-MHA

                 mastet-node1 : 10.1.249.184
                 slave-node2 : 10.1.252.218
                 slave-node4 :  10.1.249.70
                manager-node:  10.1.249.83
 

3.2.mysql 主從復制環境創建

3.2.1 master-node1配置:

        vim /etc/my.cnf

  1. [mysqld]
  2. datadir=/var/lib/mysql
  3. socket=/var/lib/mysql/mysql.sock
  4. # Disabling symbolic-links is recommended to prevent assorted security risks
  5. symbolic-links=0
  6. # Settings user and group are ignored when systemd is used.
  7. # If you need to run mysqld under a different user or group,
  8. # customize your systemd unit file for mariadb according to the
  9. # instructions in http://fedoraproject.org/wiki/Systemd
  10. skip_name_resolve=ON
  11. innodb_file_per_table=ON
  12. server_id=1
  13. relay-log=relay-bin
  14. log-bin=master-bin
             啟動mariadb并進入mysql環境,
             查詢binlog文件名以及binlog position
  1. MariaDB [(none)]> GRANT ALL ON *.* TO 'mhaadmin'@'10.1.%.%' IDENTIFIED BY '000000';
  2. MariaDB [(none)]> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'repluser'@'10.1.%.%' IDENTIFIED BY '000000';
  3. MariaDB [(none)]> SHOW MASTER STATUS;
  4. +-------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------+----------+--------------+------------------+ | master-bin.000003 | 465 | | | +-------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)

3.2.2 slave-node 配置:

        vim /etc/my.cnf

  1. [mysqld]
  2. datadir=/var/lib/mysql
  3. socket=/var/lib/mysql/mysql.sock
  4. # Disabling symbolic-links is recommended to prevent assorted security risks
  5. symbolic-links=0
  6. # Settings user and group are ignored when systemd is used.
  7. # If you need to run mysqld under a different user or group,
  8. # customize your systemd unit file for mariadb according to the
  9. # instructions in http://fedoraproject.org/wiki/Systemd
  10. skip_name_resolve=ON
  11. innodb_file_per_table=ON
  12. server_id=2
  13. relay-log=relay-bin
  14. log-bin=master-bin
  15. relay_log_purge=0
  16. read_only=1
            啟動mariadb并進入mysql環境:
  1. MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='10.1.249.184',MASTER_USER='repluser',MASTER_PASSWORD='000000',MASTER_LOG_FILE='master-bin.000003',MASTER_LOG_POS=465;
  2. MariaDB [(none)]> GRANT ALL ON *.* TO 'mhaadmin'@'10.1.%.%' IDENTIFIED BY '000000';
  3. MariaDB [(none)]> START SLAVE;
  4. MariaDB [(none)]> SHOW SLAVE STATUS\G;
    *************************** 1. row ***************************
    Slave_IO_State: Waiting for master to send event
    Master_Host: 10.1.249.184
    Master_User: mhaadmin
    Master_Port: 3306
    Connect_Retry: 60
    Master_Log_File: master-bin.000003
    Read_Master_Log_Pos: 633
    Relay_Log_File: relay-bin.000002
    Relay_Log_Pos: 698
    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: 633
    Relay_Log_Space: 986
    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)


3.2.3 主從復制測試:

            在master-node1創建任意數據庫,測試同步狀態;
  1. MariaDB [(none)]> SHOW DATABASES;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | information_schema |
  6. | mysql |
  7. | performance_schema |
  8. | test |
  9. | test2 |
  10. +--------------------+
  11. 5 rows in set (0.00 sec)
  12. MariaDB [(none)]>
            在任意從節點查看同步情況,確保同步成功;

3.2.4 manager-node 配置:

            1. 創建ssh通信公鑰:
  1. #創建私鑰
  2. [root@node5 .ssh]# ssh-keygen -t rsa -P ''
  3. Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:7f:d0:79:0b:ad:30:fa:0e:61:0d:4c:13:dc:60:1f:20 root@node5The key's randomart image is:+--[ RSA 2048]----+| E.B=. || =.o.. || o . || o . o || S = + o || . + + + . || o . o . || o . || .o |+-----------------+
  4. #添加公鑰到認證信息存放文件中
  5. [root@node5 .ssh]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys 

  6. #修改認證文件權限
  7. [root@node5 .ssh]# chmod go= /root/.ssh/authorized_keys

  8. #復制認證文件等到其他各節點
  9. [root@node5 ~]# scp /root/.ssh/authorized_keys id_rsa 10.1.249.70:/root/.ssh/
  10. [root@node5 ~]# scp /root/.ssh/authorized_keys id_rsa 10.1.252.218:/root/.ssh/
  11. [root@node5 ~]# scp /root/.ssh/authorized_keys id_rsa 10.1.249.184:/root/.ssh/
  12. #復制完以后需要逐個登錄,測試manager-node可否使用ssh登錄其他全部節點
  13. 注意:最好先清除全部節點/root/.ssh/下的文件再復制認證文件


                2. 安裝MHA

                    MHA官方有提供rpm格式安裝包,可以自行前往下載;CentOS7 中可以直接使用el6的程序包,
                    此外,MHA manager 和 MHA node 程序包版本不強制要求保持一致;

                    #官方源中無rpm,需要自行下載rpm包安裝

                    

                   manager-node :
                                    yum install ./mha4mysql-manager-0.56-0.el6.noarch.rpm mha4mysql-node-0.56-                                                                                         0.el6.noarch.rpm -y   

                                注意: mha4mysql-manager與mha4mysql-node兩個包需要同時安裝,否則會安裝失敗

                    其他所有節點:

                                    yum install ./mha4mysql-node-0.56-0.el6.noarch.rpm
    

3.2.5 初始化MHA

                1.創建配置文件,(此處使用application為集群提供默認配置,路徑為/etc/masterha/app1.cnf)

                   #需要手動創建/etc/masterh/app1目錄以及/data/masterha/app1/
  1. vim /etc/masterha/app1.cnf
  2. [server default]
  3. user=mhaadmin
  4. password=000000
  5. manager_workdir=/data/masterha/app1
  6. manager_log=/data/masterha/app1/manager.log
  7. remote_workdir=/data/masterha/app1
  8. ssh_user=root
  9. repl_user=repluser
  10. repl_password=replpass
  11. ping_interval=1
  12. [server1]
  13. hostname=10.1.249.184
  14. candidate_master=1
  15. #ssh_port=22022
  16. [server2]
  17. hostname=10.1.252.218
  18. candidate_master=1
  19. #ssh_port=22022
  20. [server3]
  21. hostname=10.1.249.70
  22. #ssh_port=22022
  23. #no_master=1

               2. 修改全部節點的/etc/hosts文件:

  1. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  2. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 10.1.249.83 node5.com node5
  4. 10.1.249.184 node1.com node1
  5. 10.1.252.218 node2.com node2
  6. 10.1.249.70 node4.com node4
             

               3.測試各節點間ssh通信配置:

  1. [root@node5 .ssh]# masterha_check_ssh --conf=/etc/masterha/app1.cnf
  2. Sun Nov 27 17:24:20 2016 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
  3. Sun Nov 27 17:24:20 2016 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
  4. Sun Nov 27 17:24:20 2016 - [info] Reading server configuration from /etc/masterha/app1.cnf..
  5. Sun Nov 27 17:24:20 2016 - [info] Starting SSH connection tests..
  6. Sun Nov 27 17:24:21 2016 - [debug]
  7. Sun Nov 27 17:24:20 2016 - [debug] Connecting via SSH from root@10.1.249.184(10.1.249.184:22) to root@10.1.252.218(10.1.252.218:22)..
  8. Sun Nov 27 17:24:21 2016 - [debug] ok.
  9. Sun Nov 27 17:24:21 2016 - [debug] Connecting via SSH from root@10.1.249.184(10.1.249.184:22) to root@10.1.249.70(10.1.249.70:22)..
  10. Warning: Permanently added '10.1.249.70' (ECDSA) to the list of known hosts.
  11. Sun Nov 27 17:24:21 2016 - [debug] ok.
  12. Sun Nov 27 17:24:22 2016 - [debug]
  13. Sun Nov 27 17:24:21 2016 - [debug] Connecting via SSH from root@10.1.252.218(10.1.252.218:22) to root@10.1.249.184(10.1.249.184:22)..
  14. Sun Nov 27 17:24:21 2016 - [debug] ok.
  15. Sun Nov 27 17:24:21 2016 - [debug] Connecting via SSH from root@10.1.252.218(10.1.252.218:22) to root@10.1.249.70(10.1.249.70:22)..
  16. Sun Nov 27 17:24:22 2016 - [debug] ok.
  17. Sun Nov 27 17:24:22 2016 - [debug]
  18. Sun Nov 27 17:24:21 2016 - [debug] Connecting via SSH from root@10.1.249.70(10.1.249.70:22) to root@10.1.249.184(10.1.249.184:22)..
  19. Sun Nov 27 17:24:22 2016 - [debug] ok.
  20. Sun Nov 27 17:24:22 2016 - [debug] Connecting via SSH from root@10.1.249.70(10.1.249.70:22) to root@10.1.252.218(10.1.252.218:22)..
  21. Sun Nov 27 17:24:22 2016 - [debug] ok.
  22. Sun Nov 27 17:24:22 2016 - [info] All SSH connection tests passed successfully.

               4. 檢查MHA管理的mysql集群主從復制以及連接配置等是否正常:

  1. [root@node5 ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf
  2. ........
  3. ......
  4. ......
  5. Sun Nov 27 19:46:05 2016 - [info] Checking replication health on 10.1.252.218..Sun Nov 27 19:46:05 2016 - [info] ok.Sun Nov 27 19:46:05 2016 - [info] Checking replication health on 10.1.249.70..Sun Nov 27 19:46:06 2016 - [info] ok.Sun Nov 27 19:46:06 2016 - [warning] master_ip_failover_script is not defined.Sun Nov 27 19:46:06 2016 - [warning] shutdown_script is not defined.Sun Nov 27 19:46:06 2016 - [info] Got exit code 0 (Not master dead).MySQL Replication Health is OK.

                5. 啟動MHA,并測試主節點工作狀況

  1. [root@node5 .ssh]# nohup masterha_manager --conf=/etc/masterha/app1.cnf > /data/masterha/app1/manager.log 2>&1&
  2. [1] 7852
  3. #nohup:后臺運行masterha_manager,否則當終端關閉時候也會將masterha_manager關閉
  4. #后續管道作用: 將啟動信息等導入指定的日志文件中

  5. #檢查主節點狀態:
  6. [root@node5 .ssh]# masterha_check_status --conf=/etc/masterha/app1.cnf
  7. app1 (pid:7852) is running(0:PING_OK), master:10.1.249.184
  8. #若主節點或集群工作不正常,則會顯示"app1 is stopped,......"等類似信息
                  6. 若要停止MHA ,可使用masterha_stop 命令
  1. [root@node5 .ssh]# masterha_stop --conf=/etc/masterha/app1.cnf
  2. [root@node5 .ssh]# Stopped app1 successfully.

3.3 故障轉移測試

3.3.1 主節點故障轉移

           1. 在master節點關閉mariadb服務

  1. [root@node1 ~]# ps aux | grep mysql
  2. mysql 23655 0.0 0.0 113252 456 ? Ss 12:53 0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
  3. mysql 23872 0.0 12.4 1102560 80756 ? Sl 12:53 0:11 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
  4. root 30281 0.0 0.1 112644 952 pts/0 R+ 20:16 0:00 grep --color=auto mysql
  5. [root@node1 ~]#
  6. [root@node1 ~]#
  7. [root@node1 ~]# killall mysqld mysqld_safe
            2. 在manager-node 上查看/data/masterha/app1/manager.log
  1. vim /data/masterha/app1/manager.log
  2. ......................
  3. Sun Nov 27 20:19:06 2016 - [info] Master is down!
  4. Sun Nov 27 20:19:06 2016 - [info] Terminating monitoring script.
  5. Sun Nov 27 20:19:06 2016 - [info] Got exit code 20 (Master dead).
  6. Sun Nov 27 20:19:06 2016 - [info] MHA::MasterFailover version 0.56.
  7. Sun Nov 27 20:19:06 2016 - [info] Starting master failover.
  8. Sun Nov 27 20:19:06 2016 - [info]
  9. Sun Nov 27 20:19:06 2016 - [info] * Phase 1: Configuration Check Phase..
  10. Sun Nov 27 20:19:06 2016 - [info]
  11. Sun Nov 27 20:19:06 2016 - [info] GTID failover mode = 0
  12. Sun Nov 27 20:19:06 2016 - [info] Dead Servers:
  13. Sun Nov 27 20:19:06 2016 - [info] 10.1.249.184(10.1.249.184:3306)
  14. Sun Nov 27 20:19:06 2016 - [info] Checking master reachability via MySQL(double check)...
  15. Sun Nov 27 20:19:06 2016 - [info] ok.
  16. Sun Nov 27 20:19:06 2016 - [info] Alive Servers:
  17. Sun Nov 27 20:19:06 2016 - [info] 10.1.252.218(10.1.252.218:3306)
  18. Sun Nov 27 20:19:06 2016 - [info] 10.1.249.70(10.1.249.70:3306)
  19. Sun Nov 27 20:19:06 2016 - [info] The latest binary log file/position on all slaves is master-bin.000003:1353
  20. Sun Nov 27 20:19:08 2016 - [info] * Phase 3.3: Determining New Master Phase..
    Sun Nov 27 20:19:08 2016 - [info]
    Sun Nov 27 20:19:08 2016 - [info] Finding the latest slave that has all relay logs for recovering other slaves..
    Sun Nov 27 20:19:08 2016 - [info] All slaves received relay logs to the same position. No need to resync each other.
    Sun Nov 27 20:19:08 2016 - [info] Searching new master from slaves..
    Sun Nov 27 20:19:08 2016 - [info] Candidate masters from the configuration file:
    Sun Nov 27 20:19:08 2016 - [info] 10.1.252.218(10.1.252.218:3306) Version=5.5.44-MariaDB-log (oldest major version between slaves) log-bin:enabled
    Sun Nov 27 20:19:08 2016 - [info] Replicating from 10.1.249.184(10.1.249.184:3306)
    Sun Nov 27 20:19:08 2016 - [info] Primary candidate for the new Master (candidate_master is set)
    Sun Nov 27 20:19:08 2016 - [info] Non-candidate masters:
    Sun Nov 27 20:19:08 2016 - [info] Searching from candidate_master slaves which have received the latest relay log events..
  21. Sun Nov 27 20:19:09 2016 - [info] Setting read_only=0 on 10.1.252.218(10.1.252.218:3306).. Sun Nov 27 20:19:08 2016 - [info] New master is 10.1.252.218(10.1.252.218:3306)
    Sun Nov 27 20:19:08 2016 - [info] Starting master failover..
  22. ..........................
  23. Applying log files succeeded. Sun Nov 27 20:19:09 2016 - [info] All relay logs were successfully applied. Sun Nov 27 20:19:09 2016 - [info] Getting new master's binlog name and position.. Sun Nov 27 20:19:09 2016 - [info] master-bin.000003:629 Sun Nov 27 20:19:09 2016 - [info] All other slaves should start replication from here. Statement should be: CHANGE MASTER TO MASTER_HOST='10.1.252.218', MASTER_PORT=3306, MASTER_LOG_FILE='master-bin.000003', MASTER_LOG_POS=629, MASTER_USER='repluser', MASTER_PASSWORD='xxx'; Sun Nov 27 20:19:09 2016 - [warning] master_ip_failover_script is not set. Skipping taking over new master IP address. Sun Nov 27 20:19:09 2016 - [info] Setting read_only=0 on 10.1.252.218(10.1.252.218:3306).. Sun Nov 27 20:19:09 2016 - [info] ok. Sun Nov 27 20:19:09 2016 - [info] ** Finished master recovery successfully. Sun Nov 27 20:19:09 2016 - [info] * Phase 3: Master Recovery Phase completed. Sun Nov 27 20:19:09 2016 - [info] Sun Nov 27 20:19:09 2016 - [info] * Phase 4: Slaves Recovery Phase.. Sun Nov 27 20:19:09 2016 - [info] Sun Nov 27 20:19:09 2016 - [info] * Phase 4.1: Starting Parallel Slave Diff Log Generation Phase..
  24. .....................

                        #由以上日志內容可以看到故障轉移成功
                注意:
                        每次故障成功轉移以后,MHA manager 會自動停止, 此時再使用maserha__check_status檢測狀態信息
                        會出錯:
                         105-MHA

                        出于數據完整性與可用性考慮,MHA每次故障轉移后會停止工作,此后需要手動檢查
                        數據是否有出錯等,確保無誤后,再重啟MHA manager服務

                        

3.4 故障修復后重上線

        原master 節點故障修復后,數據恢復為原master節點上的數據,并作為一個新的集群從節點回集群中(配置需要
       重新修改) , 其IP地址必須配置為原master的ip地址,否則MHA將無法識別;
        再次啟動MHA manager后,需要再檢測一次各節點的工作狀態,即執行masterha_check_status還有
       masterha_check_repl命令;
       
            

  1. [root@node5 .ssh]# nohup masterha_manager --conf=/etc/masterha/app1.cnf > /data/masterha/app1/manager.log 2>&1&
  2. [1] 10188
  3. [root@node5 .ssh]#
  4. [root@node5 .ssh]#
  5. [root@node5 .ssh]#
  6. [root@node5 .ssh]# masterha_check_status --conf=/etc/masterha/app1.cnf
  7. app1 (pid:10188) is running(0:PING_OK), master:10.1.252.218
  8. [root@node5 .ssh]#

  1. [root@node5 .ssh]# masterha_check_status --conf=/etc/masterha/app1.cnf app1 (pid:10188) is running(0:PING_OK), master:10.1.252.218 [root@node5 .ssh]# masterha_check_repl --conf=/etc/masterha/app1.cnf Sun Nov 27 21:03:04 2016 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping. Sun Nov 27 21:03:04 2016 - [info] Reading application default configuration from /etc/masterha/app1.cnf.. Sun Nov 27 21:03:04 2016 - [info] Reading server configuration from /etc/masterha/app1.cnf.. Sun Nov 27 21:03:04 2016 - [info] MHA::MasterMonitor version 0.56. Sun Nov 27 21:03:04 2016 - [warning] SQL Thread is stopped(no error) on 10.1.252.218(10.1.252.218:3306) Sun Nov 27 21:03:04 2016 - [info] Multi-master configuration is detected. Current primary(writable) master is 10.1.252.218(10.1.252.218:3306) Sun Nov 27 21:03:04 2016 - [info] Master configurations are as below: Master 10.1.252.218(10.1.252.218:3306), replicating from 10.1.249.184(10.1.249.184:3306) Master 10.1.249.184(10.1.249.184:3306), replicating from 10.1.252.218(10.1.252.218:3306), read-only Sun Nov 27 21:03:04 2016 - [info] GTID failover mode = 0 Sun Nov 27 21:03:04 2016 - [info] Dead Servers: Sun Nov 27 21:03:04 2016 - [info] Alive Servers: Sun Nov 27 21:03:04 2016 - [info] 10.1.249.184(10.1.249.184:3306) Sun Nov 27 21:03:04 2016 - [info] 10.1.252.218(10.1.252.218:3306) Sun Nov 27 21:03:04 2016 - [info] 10.1.249.70(10.1.249.70:3306) Sun Nov 27 21:03:04 2016 - [info] Alive Slaves: Sun Nov 27 21:03:04 2016 - [info] 10.1.249.184(10.1.249.184:3306) Version=5.5.44-MariaDB-log (oldest major version between slaves) log-bin:enabled Sun Nov 27 21:03:04 2016 - [info] Replicating from 10.1.252.218(10.1.252.218:3306) Sun Nov 27 21:03:04 2016 - [info] Primary candidate for the new Master (candidate_master is set) Sun Nov 27 21:03:04 2016 - [info] 10.1.249.70(10.1.249.70:3306) Version=5.5.44-MariaDB-log (oldest major version between slaves) log-bin:enabled Sun Nov 27 21:03:04 2016 - [info] Replicating from 10.1.252.218(10.1.252.218:3306)
  2. .....................

  3. Sun Nov 27 21:03:08 2016 - [info] Checking replication health on 10.1.249.184.. Sun Nov 27 21:03:08 2016 - [info] ok. Sun Nov 27 21:03:08 2016 - [info] Checking replication health on 10.1.249.70.. Sun Nov 27 21:03:08 2016 - [info] ok. Sun Nov 27 21:03:08 2016 - [warning] master_ip_failover_script is not defined. Sun Nov 27 21:03:08 2016 - [warning] shutdown_script is not defined. Sun Nov 27 21:03:08 2016 - [info] Got exit code 0 (Not master dead). MySQL Replication Health is OK.
 


105-MHA

 

原創文章,作者:ldt195175108,如若轉載,請注明出處:http://www.www58058.com/61094

(0)
ldt195175108ldt195175108
上一篇 2016-11-27 20:35
下一篇 2016-11-27 21:31

相關推薦

  • 馬哥教育網絡班20期+第3周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。  who | cut -d' ' -f1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 last | head …

    Linux干貨 2016-06-26
  • 初窺門徑shell腳本

    1.什么是shell腳本    首先它是一個腳本,并不能作為正式的編程語言。因為是跑在linux的shell中,所以叫shell腳本。確切的說shell腳本就是一些命令的集合。 2.寫腳本前的一些細節及建議   Shell腳本通常都是以.sh 為后綴名的,這個并不是說不帶.sh這個腳本就不能執行,只是大家的一個習慣而已…

    Linux干貨 2016-08-15
  • Linux中的軟鏈接/硬鏈接

    Linux鏈接概念Linux鏈接分兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。默認情況下,ln命令產生硬鏈接。 【硬連接】硬連接指通過索引節點來進行連接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個文件名指…

    Linux干貨 2016-10-20
  • iptables, sudo N28

    2018/2/25 17:14 第十二周

    2018-02-25
  • vsftpd權限配置

    要求 :完成vsftpd配置,   (1) 禁錮系統用戶于家目錄;   (2) 基于mysql進行用戶認證;   (3) 不同的虛擬用戶擁有不同的權限設定. 解答:  (1) 首先安裝需要的系統環境和軟件 yum groupinstall -y "Development&nbsp…

    Linux干貨 2016-10-24
  • 推薦-tree命令的安裝和使用

    一、前言     tree命令是可以把指定文件夾的所以文件用樹狀羅列出來,呈現目錄形式的一個命令。在Centos 6.5中默認不能直接使用: 輸入type tree命令(type COMMAND:區別是內建命令還是外部命令)提示不存在: 二、安裝       …

    系統運維 2016-03-27
欧美性久久久久