1. 程式人生 > >mysql高可用之MHA(補充3)--管理多組主從複製

mysql高可用之MHA(補充3)--管理多組主從複製

前面我們瞭解了mha管理一組主從,然而在實際生產環境中不同的應用會使用不同的資料庫,因此會有多組主從複製,我們可以使用一個mha manager 來管理多組主從複製資料庫。我們只需要建立一個全域性配置檔案,你可以將這幾組中相同的配置資訊寫到全域性配置檔案中,如使用者名稱、密碼等,而其他的配置資訊單獨寫到每個app*.cnf中。

官網介紹:

https://code.google.com/p/mysql-master-ha/wiki/Configuration

下面我們就來介紹下:

mha架構:


如上:我們使用一個mha manager節點來管理3組主從複製,我這面只配置兩組,每組具體的配置請參考前面的博文,在此只介紹重點。

10.10.10.59mha manager

APP1:

10.10.10.56master

10.10.10.57slave1

10.10.10.58slave2

10.10.10.60vip

APP2:

10.10.10.61master

10.10.10.62slave1

10.10.10.63slave2

10.10.10.64vip

1.建立全域性配置檔案masterha_default.cnf

mkdir -p /etc/mha
cp /usr/local/src/mha4mysql-manager-0.56/samples/conf/masterha_default.cnf /etc/mha/
ln -s /etc/mha/masterha_default.cnf /etc/masterha_default.cnf
#將相同的配置資訊寫到全域性配置檔案中
[
[email protected]
mha]# cat masterha_default.cnf [server default] master_binlog_dir=/data/mysql password=123456 ping_interval=1 remote_workdir=/tmp repl_password=123456 repl_user=rep report_script=/usr/local/bin/send_report ssh_port=22 ssh_user=root user=mha
注意:masterha_default.cnf一定要在/etc下,否則檢查過程中會找不到這個檔案,為將所有的mha相關配置檔案放在一起方便管理,我做了軟連線。

2.建立每個應用對應的配置檔案app*.conf

app1.conf

[[email protected] mha]# cat /etc/mha/app1.cnf 
[server default]
manager_log=/var/log/masterha/app1/manager.log
manager_workdir=/var/log/masterha/app1
master_ip_failover_script=/usr/local/bin/master_ip_failover_app1
master_ip_online_change_script=/usr/local/bin/master_ip_online_change_app1

[server1]
hostname=10.10.10.56
port=3306

[server2]
candidate_master=1
check_repl_delay=0
hostname=10.10.10.57
port=3306

[server3]
hostname=10.10.10.58
port=3306
app2.conf
[[email protected] mha]# cat /etc/mha/app2.cnf 
[server default]
manager_log=/var/log/masterha/app2/manager.log
manager_workdir=/var/log/masterha/app2
master_ip_failover_script=/usr/local/bin/master_ip_failover_app2
master_ip_online_change_script=/usr/local/bin/master_ip_online_change_app2

[server1]
hostname=10.10.10.61
port=3306

[server2]
candidate_master=1
check_repl_delay=0
hostname=10.10.10.62
port=3306

[server3]
hostname=10.10.10.63
port=3306
注意:每個應用的master_ip_failover_script和master_ip_online_change_script對應的指令碼不一樣,因為我們在遷移過程中使用vip來達到高可用的目的,master_ip_failover在自動failover過程中使vip會自動漂移,而master_ip_online_change在線上遷移過程中使vip漂移。因此在多個主從複製組我們使用多個不同的指令碼來管理不同的ip。

3.檢查ssh配置

masterha_check_ssh --conf=/etc/mha/app1.cnf

masterha_check_ssh --conf=/etc/mha/app2.cnf

注:(1)全域性配置檔案在檢測過程中會自動檢查,如果找不到全域性配置檔案,就會讀取指定的應用配置檔案。

(2)每個主從複製組都需要和mha manager節點配置ssh無密碼登入,但組與組之前不要配置。

4.檢查replication配置

masterha_check_repl --conf=/etc/mha/app1.cnf

masterha_check_repl --conf=/etc/mha/app2.cnf

5.啟動監控

nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &

nohup masterha_manager --conf=/etc/mha/app2.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &

相關推薦

mysql可用MHA(補充3)--管理主從複製

前面我們瞭解了mha管理一組主從,然而在實際生產環境中不同的應用會使用不同的資料庫,因此會有多組主從複製,我們可以使用一個mha manager 來管理多組主從複製資料庫。我們只需要建立一個全域性配置檔案,你可以將這幾組中相同的配置資訊寫到全域性配置檔案中,如使用者名稱、密

MySQL可用MHA

ha高可用 filter 保存 yum mysql 復制 ast 詳細 ima ssh MHA,MySQL的高可用架構,在基於主從架構的模式下,當主服務器掛掉之後,由MHA中manager來決定從哪臺slave從服務器當中選擇一臺作為master主服務器,通常是比較從服

MySQL可用MHA理論章節

MHA 高可用 復制 背景介紹 高可用架構對於互聯網服務基本是標配,無論是應用服務還是數據庫服務都需要做到高可用。本文是對MySQL數據庫的高可用方案中,基於主從復制的MHA軟件理論部分進行梳理和小結。 MHA軟件介紹 1.MHA軟件是由MHA Manager(管理節點)和MHA Node(數據節

mysql 可用mha實現

一 mha簡介  mha是由日本DeNA公司youshimaton(現就職於Facebook公司)開發,是一套MySQL環境下故障切換和主從提升的高可用軟體。據說可以在0~30秒內完成主從切換, 並且在切換過程中可以最大限度的保持資料一致性,當然本人認為保持資料一致性這個

MySQL可用MHA的搭建--錯誤整合

1.檢查整個複製環境狀況時,出現錯誤 masterha_check_repl –conf=/etc/masterha/app1.cnf 錯誤一:mysql日誌檔案未找到和mysql命令未找到 Can't exec "mysqlbinlog": No s

MySQL可用MHA的搭建

測試環境 四臺虛擬機器: server2:master 寫入 server3:Candicate master 讀 server4:slave 讀 server5:Monitor host

【DB寶19】在Docker中使用MySQL可用MHA

[toc] # 一、MHA簡介和架構 ## 1.1 MHA簡介 MHA(Master High Availability Manager and tools for MySQL)目前在MySQL高可用方面是一個相對成熟的解決方案,它是由日本人youshimaton採用Perl語言編寫的一個指令碼管理

Mysql可用 MHA

mysql 的高可用 郵件報警 Mysql 的高可用之 MHAMHA作為MySQL高可用性環境下故障切換和主從提升的高可用軟件。在MySQL故障切換過程中,MHA能做

MySQL可用方案 MHA二 master_ip_failover

  [[email protected] bin]# vi master_ip_failover 1 cat master_ip_failover 2 #!/usr/bin/env perl 3 use strict; 4 use warnings FAT

MySQL可用方案 MHA四 keepalived 半同步複製

    [[email protected] ~]# cat /etc/mysql_mha/app1.cnf [server default]manager_log=/data/mysql_mha/app1-manager.logmanager_workdir=/data/m

mysql可用架構mhamaster_ip_failover腳本

warnings ddr long HERE eat code ida val nbsp 腳本如下: #!/usr/bin/env perl use strict; use warnings FATAL => ‘all‘; u

(轉)MySQL可用方案MHA的部署和原理

進制 說明 only manager 方案 運行 例如 必須 轉移 背後深層次的邏輯: MHA Node則運行在每個mysql節點上,MHA Manager會定時探測集群中的master節點,當master出現故障時,它自動將最新數據的slave提升為master,然後將其

MySQL可用部署MHA

運行 code relay rontab form inter 二進制 for 簡單記錄 MHA簡介 MHA 由兩部分組成: MHA Manager(管理節點)和 MHA Node(數據節點)。 MHA Manager可以單獨部署在一臺獨立的機器上管理多個 master-

MySQL可用雙主複製模式

MySQL雙主模式高可用實現   生產案例:VIP:10.105.98.211MASTERHOSTNAME IPADDR PORTmy-prod01.oracle.com 192.168.10.97 3306 my-prod02.oracle.com 192.168.10.5 3306 SL

配置MySQL可用叢集MHA

配置MySQL高可用叢集+++++++++++++++++++主機角色 :客戶端 client50資料庫伺服器 mysql51 到 mysql55管理主機 mgm56VIP地址 192.168.4.100拓撲結構: client50 | mysql51主 |

MySQL可用PXC簡介

PXC簡介: galera產品是以galera cluster方式為mysql提高高可用叢集解決方案的。galera cluster就是集成了galera外掛的mysql叢集。galera replication是codership提供的mysql資料同步方案,具有高可用性,方便擴充套件,並且可以實現多個m

Mysql可用架構——MHA

MHA(Master High Availability)什麼是資料庫的高可用性呢??資料庫主機中我們會有做成主從關係的或者其他關係型資料庫,如果主掛了,不會影響資料的訪問,假如是一主三從架構,主庫掛了,但主庫能被從庫ssh上去的情況下,MHA從三個從庫中選擇同步最接近的作為

MySQL可用方案--MHA原理

簡介 MHA(Master High Availability)目前在MySQL高可用方面是一個相對成熟的解決方案,它由日本DeNA公司youshimaton(現就職於Facebook公司)開發,是日本的一位MySQL專家採用Perl語言編寫的一個指令碼管理工具,該工具僅適用於MySQLReplicatio

MySQL 可用 keepalived+Mysql 雙主雙活。

環境描述:[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [[email protected] ~]# cat /etc/redhat-release CentOS L