mmm高可用集群介紹:
專業(yè)領(lǐng)域包括成都做網(wǎng)站、成都網(wǎng)站建設(shè)、商城開發(fā)、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。
高可用集群介紹:主備模式,當(dāng)主不能提供服務(wù)的時(shí)候備用主機(jī)接替它提供服務(wù)。
這個(gè)過程對于客戶端是透明的。
一、前期準(zhǔn)備工作
1、準(zhǔn)備五臺linux服務(wù)器:主(192.168.4.122),主備(192.168.4.123)
從(192.168.4.126),從(192.168.4.127),管理主機(jī)(192.168.4.128)
四臺主機(jī)做主從的用戶名:tongbu,密碼:123456
2、主和主備做成相互的主從模式,兩臺從服務(wù)器做成主備的從
3、IP規(guī)劃,write-vip=192.168.4.100,read-vip=192.168.4.101/192.168.4.102
二、安裝配置 MySQL-mmm
1、安裝:首先安裝依賴包:yum -y install perl-*
cd mysql-mmm-2.2.1/
make install //進(jìn)入解壓后的目錄,然后直接安裝
2、配置文件說明:cd /etc/mysql-mmm
mmm_agent.conf //數(shù)據(jù)節(jié)點(diǎn)主機(jī)文件(四臺mysql服務(wù)器)
mmm_common.conf //公共配置文件 (五臺主機(jī)都需要)
mmm_mon.conf //管理主機(jī)文件(192.168.4.128)
mmm_tools.conf //管理工具
3、修改數(shù)據(jù)節(jié)點(diǎn)的配置文件:mmm_agent.conf(四臺mysql服務(wù)器修改)
include mmm_common.conf //加載文件
this db1 //定義在集群中的名稱
名稱規(guī)劃:根據(jù)角色和ip地址來命名
master122,master123,slave126,slave127
4、修改管理節(jié)點(diǎn)的配置(192.168.4.128)mmm_mon.conf
1 include mmm_common.conf
2
3
4 ip 192.168.4.128 //監(jiān)控本機(jī)的IP地址
5 pid_path /var/run/mmm_mond.pid
6 bin_path /usr/lib/mysql-mmm/
7 status_path /var/lib/misc/mmm_mond.status
8 ping_ips 192.168.4.122, 192.168.4.123, 192.168.4.126, 192.168.4.127 //被監(jiān)控的IP地址
9
10
11
12 monitor_user monitor //監(jiān)控?cái)?shù)據(jù)庫的用戶名,用來監(jiān)測四臺數(shù)據(jù)庫服務(wù)是否正常
13 monitor_password 123456 //上面的用戶名需在122那臺主機(jī)上添加授權(quán)
14
5、修改公共配置文件:mmm_common.conf(五臺主機(jī)都需要)
在一臺主機(jī)上修改,然后傳送給其它四臺主機(jī)
active_master_role writer
cluster_interface eth0
pid_path /var/run/mmm_agentd.pid
bin_path /usr/lib/mysql-mmm/
replication_user tongbu //本機(jī)用于主從同步的用戶
replication_password 123456
agent_user agent //代理程序去檢測的用戶名
agent_password 123456
ip 192.168.4.122
mode master //模式
peer master123 //身份對等的主機(jī)
ip 192.168.4.123
mode master
peer master122
ip 192.168.4.126
mode slave
ip 192.168.4.127
mode slave
hosts master122, master123
ips 192.168.4.100 //兩臺主備的虛擬IP
mode exclusive //獨(dú)占模式
hosts slave126, slave127
ips 192.168.4.101, 192.168.4.102
mode balanced //均衡模式
6、在4.122主機(jī)上添加兩個(gè)授權(quán)帳號: monitor, agent
grant replication client on *.* to monitor@'%' identified by '123456';
grant replication client,process,super on *.* to agent@'%' identified by '123456';
三、啟動(dòng)數(shù)據(jù)節(jié)點(diǎn)服務(wù)和管理節(jié)點(diǎn)主機(jī)上的mmm_monitor服務(wù)
1、在五臺主機(jī)上安裝啟動(dòng)的依賴包:下面三個(gè)rpm包或者tar包
解決啟動(dòng)agent服務(wù)的依賴包:
Algorithm-Diff-1.1902.tar.gz
perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm
Proc-Daemon-0.03.tar.gz
2、安裝上面的三個(gè)包
yum -y install gcc gcc-c++
cd mysql-mmm/
tar -zxf Algorithm-Diff-1.1902.tar.gz
cd Algorithm-Diff-1.1902/
perl Makefile.PL
make
make install
cd ..
rpm -ivh perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm
tar -zxf Proc-Daemon-0.03.tar.gz
cd Proc-Daemon-0.03/
perl Makefile.PL
make
make install
3、安裝獲取VIP的軟件包:Net-ARP-1.0.8.tgz(在四臺mysql服務(wù)上安裝)
gunzip Net-ARP-1.0.8.tgz
tar -xf Net-ARP-1.0.8.tar
cd Net-ARP-1.0.8/
perl Makefile.PL
make && make install
4、啟動(dòng)agent服務(wù):在五臺服務(wù)器上啟動(dòng)
/etc/init.d/mysql-mmm-agent start //啟動(dòng)服務(wù)
netstat -ntulp | grep 9989 //查看端口號,查看服務(wù)是否啟動(dòng)
cat /var/log/mysql-mmm/mmm_agentd.log //啟動(dòng)日志
5、啟動(dòng)管理節(jié)點(diǎn)主機(jī)上的mmm_monitor服務(wù)
/etc/init.d/mysql-mmm-monitor start //啟動(dòng)
netstat -ntulp | grep 9988 //查看是否啟動(dòng)
ls /var/log/mysql-mmm/mmm_mond.log //日志文件
6、在管理主機(jī)上,查看監(jiān)控信息:mmm_control show
master122(192.168.4.122) master/AWAITING_RECOVERY. Roles:
master123(192.168.4.123) master/AWAITING_RECOVERY. Roles:
slave126(192.168.4.126) slave/AWAITING_RECOVERY. Roles:
slave127(192.168.4.127) slave/AWAITING_RECOVERY. Roles:
7、設(shè)置在線: mmm_control set_online 四臺都需要設(shè)置
mmm_control set_online master122
mmm_control set_online master123
mmm_control set_online slave126
mmm_control set_online slave127
設(shè)置完成后查看:mmm_control show
master122(192.168.4.122) master/ONLINE. Roles: writer(192.168.4.100)
master123(192.168.4.123) master/ONLINE. Roles:
slave126(192.168.4.126) slave/ONLINE. Roles: reader(192.168.4.101)
slave127(192.168.4.127) slave/ONLINE. Roles: reader(192.168.4.102)
如何查看IP:
ip addr show | grep 192.168.4. //可以看到獲取到了兩個(gè)ip地址
四、測試
1、在數(shù)據(jù)節(jié)點(diǎn)上添加訪問數(shù)據(jù)庫的連接用戶,只需要在4.122上創(chuàng)建一個(gè)授權(quán)帳號
grant all on *.* to admin@'%' identified by '123456';
2、客戶端測試:
mysql -h292.168.4.100 -uadmin -p123456
登陸上去后,增刪改查數(shù)據(jù)庫,然后在四臺mysql
服務(wù)器上驗(yàn)證是否正確
3、手動(dòng)把4.122這臺主mysql服務(wù)器停掉,
看在客戶端是否能訪問,增刪改查等。
4、4.122手動(dòng)起來后,首先需要設(shè)置在線:mmm_control set_online master122
但是VIP對應(yīng)的還是4.123,不會自動(dòng)切換過去,
必須要先把4.123:mmm_control set_offline master123,
這樣4.122才會獲得VIP