新聞中心
【引自攀巖人生的博客】MMM即Multi-Master Replication Manager for MySQL:mysql多主復制管理器,基于perl實現,關于mysql主主復制配置的監(jiān)控、故障轉移和管理的一套可伸縮的腳本套件(在任何時候只有一個節(jié)點可以被寫入),MMM也能對從服務器進行讀負載均衡,所以可以用它來在一組用于復制的服務器啟動虛擬ip,除此之外,它還有實現數據備份、節(jié)點之間重新同步功能的腳本。

成都創(chuàng)新互聯公司始終堅持【策劃先行,效果至上】的經營理念,通過多達10余年累計超上千家客戶的網站建設總結了一套系統有效的全網整合營銷推廣解決方案,現已廣泛運用于各行各業(yè)的客戶,其中包括:成都自拌料攪拌車等企業(yè),備受客戶表揚。
優(yōu)點:高可用性,擴展性好,出現故障自動切換,對于主主同步,在同一時間只提供一臺數據庫寫操作,保證的數據的一致性。當主服務器掛掉以后,另一個主立即接管,其他的從服務器能自動切換,不用人工干預。
缺點:monitor節(jié)點是單點,不過這個你也可以結合keepalived或者haertbeat做成高可用;至少三個節(jié)點,對主機的數量有要求,需要實現讀寫分離,還需要在前端編寫讀寫分離程序。在讀寫非常繁忙的業(yè)務系統下表現不是很穩(wěn)定,可能會出現復制延時、切換失效等問題。MMM方案并不太適應于對數據安全性要求很高,并且讀、寫繁忙的環(huán)境中。
二、部署實施
1、環(huán)境介紹
OS:centos7.2(64位)數據庫系統:mysql5.7.13 關閉selinux
|
主機 |
Ip |
Hostname |
Server--id |
|
Master1 |
192.168.119.129 |
Master1 |
1 |
|
Master2 |
192.168.119.130 |
Master2 |
2 |
|
Slave |
192.168.119.131 |
Slave |
3 |
|
Montior |
192.168.119.132 |
Montior |
4 |
使用yum進行安裝相關的依賴包
安裝perl相關的庫
字有點小(cpan -i Algorithm::Diff Class::Singleton DBI DBD::mysql Log::Dispatch Log::Log4perl Mail::Send Net::ping Proc::Daemon Time::HiResParams::Validate Net::ARP)
在/etc/hosts里添加地址和主機名
測試能否ping通,進行通信
在master1中添加mysql /etc/my.cnf主配置參數文件
在master2中添加/etc/my.cnf主配置文件
在slave中添加/etc/my.cnf主配置文件
修改完后關閉防火墻,啟動mysql服務
其余兩臺master2、slave按照上圖執(zhí)行
創(chuàng)建主從復制環(huán)境,master1是master2、slave的主,master2是master1的主
創(chuàng)建授權連接用戶
兩臺master上都執(zhí)行
查看master1的狀態(tài)
在master2上建立連接實現主從復制
啟動slave查看是否連接必須為yes
在slave上建立連接實現主從復制
把master2設為主跟上面的步驟一樣,只需把ip地址改一下即可
下圖是在master1上執(zhí)行的
上面的已經把主主復制及主從復制做ok了
設置mysql-mmm
在master1上創(chuàng)建代理賬號、創(chuàng)建監(jiān)控賬號,因為已經主從復制了就可以在主上面創(chuàng)建了,會同步的
查看那兩臺是否都存在監(jiān)控和代理賬號
www用戶:mmm監(jiān)控用于對mysql服務器進程健康檢查
qqq用戶:mmm代理用來更改只讀模式,復制的主服務器等
mysql-mmm安裝
在montior主機上安裝監(jiān)控程序
安裝下載后的包
在master1、master2、slave中安裝代理
配置mmm,要求必須四臺主機必須一樣的配置文件
安裝后的所有配置文件都存放在/etc/mysql-mmm/下面,管理和數據庫服務器上都要包含一個共同的文件mmm_common.cof,配置文件如下:
- active_master_role writer
- cluster_interface eno16777736
- pid_path /var/run/mmm_agentd.pid
- bin_path /usr/lib/mysql-mmm/
- replication_user rep
- replication_password 123
- agent_user qqq
- agent_password 123
- ip 192.168.119.129
- mode master
- peer master2
- ip 192.168.119.130
- mode master
- peer master1
- ip 192.168.119.131
- mode slave
- hosts master1,master2
- ips 192.168.119.10
- mode exclusive
- hosts master1,master2, slave
- ips 192.168.119.11,192.168.119.22,192.168.119.33
- mode balanced
使用for循環(huán)語句分發(fā)給其他三臺主機
代理文件需要在master1、master2、slave中修改/mmm_agent.conf
this后面添加本地主機名就可以了
啟動代理進程 需要進入腳本/etc/init.d/mysql-mmm-agent腳本
把mmm添加為系統服務并設置為自啟
能顯示出來ok證明前面做的沒有問題,在三臺代理的主機都設置
編輯monitor主機的/etc/mysql-mmm/mmm_mon.conf
每個參數的意思
- ip 127.0.0.1 設置只在本機監(jiān)聽,mmm_mond默認監(jiān)聽9988
- pid_path /var/run/mmm_mond.pid
- bin_path /usr/lib/mysql-mmm/
- status_path /var/lib/misc/mmm_mond.status
- ping_ips 192.168.119.129,192.168.119.130,192.168.119.131 用于測試網絡可用性 IP 地址列表
- auto_set_online 0 設置自動online的時間,默認是60s
- check_period 5 檢查周期默認為5s
- trap_period 10 一個節(jié)點被檢測不成功的時間持續(xù)trap_period秒
- timeout 2 檢查超時的時間
- restart_after 10000 在完成restart_after次檢查后,重啟checker進程,默認值:10000
- max_backlog 86400 記錄檢查rep_backlog日志的***次數
- monitor_user www 監(jiān)控db服務器的用戶
- monitor_password 123 監(jiān)控db服務器的密碼
- debug 0 debug 0正常模式,1為debug模式
啟動監(jiān)控進程在/etc/init.d/mysql-mmm-monitor文件中添加
添加成系統服務并設置為自啟動
- chkconfig --add mysql-mmm-monitor
- chkconfig mysql-mmm-monitor on
- /etc/init.d/mysql-mmm-monitor start
把服務器上線
檢查所有的db服務器群集狀態(tài)
查看所有的群集狀態(tài)
查看命令,監(jiān)控命令參數有很多,可以從網上查找。
分享題目:Mysql群集架構mmm高可用群集及服務器上線
標題鏈接:http://www.5511xx.com/article/ccoghgg.html


咨詢
建站咨詢
