資源描述:
《第四十章:Mysql-mmm雙主高可用集群》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、第四十章:Mysql-mmm高可用集群一、Mysql-mmm集群技術(shù)概述;二、Mysql-mmm優(yōu)缺點(diǎn);三、Mysql?mmm內(nèi)部工作架構(gòu);四、案例搭建Mysql?mmm+mysql5.6雙主高可用集群;一、Mysql-mmm集群技術(shù)概述;概述:MMM(Master-MasterreplicationmanagerforMySQL)是一套支持雙主故障切換和雙主日常管理的腳本程序。MMM使用Perl語(yǔ)言開(kāi)發(fā),主要用來(lái)監(jiān)控和管理MySQLMaster-Master(雙主)復(fù)制,可以說(shuō)是mysql主主復(fù)制管理器。雖然叫做雙主復(fù)制,但是業(yè)務(wù)上同一時(shí)刻只允許對(duì)一個(gè)主進(jìn)行寫入,另一臺(tái)
2、備選主上提供部分讀服務(wù),以加速在主主切換時(shí)刻備選主的預(yù)熱,可以說(shuō)MMM這套腳本程序一方面實(shí)現(xiàn)了故障切換的功能,另一方面其內(nèi)部附加的工具腳本也可以實(shí)現(xiàn)多個(gè)slave的read負(fù)載均衡。MMM提供了自動(dòng)和手動(dòng)兩種方式移除一組服務(wù)器中復(fù)制延遲較高的服務(wù)器的虛擬ip,同時(shí)它還可以備份數(shù)據(jù),實(shí)現(xiàn)兩節(jié)點(diǎn)之間的數(shù)據(jù)同步等。由于MMM無(wú)法完全的保證數(shù)據(jù)一致性,所以MMM適用于對(duì)數(shù)據(jù)的一致性要求不是很高,但是又想最大程度的保證業(yè)務(wù)可用性的場(chǎng)景。Application丿SlaveWriteyipReadyipReadyjp雙主復(fù)制1Master2
3、MMMmonitor二、Mysql-mmm優(yōu)
4、缺點(diǎn);?優(yōu)點(diǎn):高可用性,擴(kuò)慝性好,出現(xiàn)故陣魚(yú)動(dòng)切換,對(duì)于王主同步,在同一時(shí)間兵提供一臺(tái)數(shù)據(jù)麗寫操作,保證的釵據(jù)的一致性.?缺Monitor節(jié)點(diǎn)是單點(diǎn),可以結(jié)合Keepalived實(shí)現(xiàn)高可用,對(duì)王機(jī)的放廚有要求,需要妄現(xiàn)讀寫分離,對(duì)程序來(lái)說(shuō)是個(gè)挑三、Mysql?mmm內(nèi)部工作架構(gòu);進(jìn)程類型:mmm_mond:監(jiān)控進(jìn)程,負(fù)責(zé)所有的監(jiān)控工作,決定和處理所有節(jié)點(diǎn)角色活動(dòng)。此腳本需要在監(jiān)管機(jī)上運(yùn)行;mmm_agentd:運(yùn)行在每個(gè)mysql服務(wù)器上(Master和Slave)的代理進(jìn)程,完成監(jiān)控的探針工作和執(zhí)行簡(jiǎn)單的遠(yuǎn)端服務(wù)設(shè)置。此腳本需要在被監(jiān)管機(jī)上運(yùn)行;mmmcontrol:一
5、個(gè)簡(jiǎn)單的腳本,提供管理mmm_mond進(jìn)程的命令;工作架構(gòu):MMM_MONITORListen:tcp9988工作原理:mysql-mmm的監(jiān)管端會(huì)提供多個(gè)虛擬IP(VIP),包括一個(gè)可寫VIP,多個(gè)可讀VIP;通過(guò)監(jiān)管的管理,這些IP會(huì)綁定在可用mysql之上;當(dāng)某一臺(tái)mysql宕機(jī)時(shí),監(jiān)管會(huì)將VIP遷移至其他mysql;四、案例搭建Mysql?mmm+mysql5.6雙主高可用集群;案例環(huán)境:系統(tǒng)IP地址主機(jī)名所需軟件Centos7.4170864bit192.168.100.101masterlmysql-5.6.36?tar.gzmysql-mmmmysql-mm
6、m-agentmysql-toolsCentos7.4170864bit192.168.100.102master2mysql-5.6.36.tar.gzmysql-mmmmysql-mmm-agentmysql-toolsCentos7.4170864bit192.168.100.103slavelmysql-5.6.36?tar.gzmysql-mmmmysql-mmm-agentmysql-toolsCentos7.4170864bit192.168.100.104slave2mysql-5.6.36.tar.gzmysql-mmmmysql-mmm-agentmy
7、sql-toolsCentos7.4170864bit192.168.100.105monitormysql-5.6.36.tar.gzmysql-mmmmysql-mmm-monitormysql-toolsCentos7.4170864bit192.16&100.106clientmysql案例步驟:>部署masterl節(jié)點(diǎn)的ntp服務(wù)以及域名解析;>配置master2、slavel、slave2、monitor節(jié)點(diǎn)同步ntp時(shí)間及域名解析(在此只列舉master2單臺(tái)主機(jī)配置);>分別在masterlxmaster2>slavel^slave2節(jié)點(diǎn)上安裝mysql服
8、務(wù)(在此只列舉masterl單臺(tái)主機(jī)配置);>配置masterl實(shí)現(xiàn)雙主復(fù)制;>配置master2實(shí)現(xiàn)雙主復(fù)制;>配置slavel和slave2實(shí)現(xiàn)主從復(fù)制(在此只列舉slavel單臺(tái)主機(jī)配置);>分別在masterlmaster2、slavel>slave2四個(gè)節(jié)點(diǎn)安裝mysql-mmm軟件程序并且配置agent指定本機(jī)的節(jié)點(diǎn)名稱(在此只列舉masterl單臺(tái)主機(jī)配置);>在masterl節(jié)點(diǎn)上授權(quán)monitor節(jié)點(diǎn)連接數(shù)據(jù)庫(kù)集群;>安裝monitor節(jié)點(diǎn)上的軟件程序;>配置monitor節(jié)點(diǎn)上的mysql?mmm的配置文件