1. 程式人生 > >mysql系列之9--------mmm高可用集群

mysql系列之9--------mmm高可用集群

相互 tin lin 高可用集群 配置文件說明 -s 查看ip 用戶 mysql

mmm高可用集群介紹:

高可用集群介紹:主備模式,當主不能提供服務的時候備用主機接替它提供服務。

這個過程對於客戶端是透明的。


一、前期準備工作

1、準備五臺linux服務器:主(192.168.4.122),主備(192.168.4.123)

從(192.168.4.126),從(192.168.4.127),管理主機(192.168.4.128)

四臺主機做主從的用戶名:tongbu,密碼:123456

2、主和主備做成相互的主從模式,兩臺從服務器做成主備的從

3、IP規劃,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 //進入解壓後的目錄,然後直接安裝

2、配置文件說明:cd /etc/mysql-mmm

mmm_agent.conf //數據節點主機文件(四臺mysql服務器)

mmm_common.conf //公共配置文件 (五臺主機都需要)

mmm_mon.conf //管理主機文件(192.168.4.128

mmm_tools.conf //管理工具

3、修改數據節點的配置文件:mmm_agent.conf(四臺mysql服務器修改)

include mmm_common.conf //加載文件

this db1 //定義在集群中的名稱

名稱規劃:根據角色和ip地址來命名

master122,master123,slave126,slave127

4、修改管理節點的配置(192.168.4.128)mmm_mon.conf

1 include mmm_common.conf

2

3 <monitor>

4 ip 192.168.4.128 //監控本機的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 //被監控的IP地址

9 </monitor>

10

11 <host default>

12 monitor_user monitor //監控數據庫的用戶名,用來監測四臺數據庫服務是否正常

13 monitor_password 123456 //上面的用戶名需在122那臺主機上添加授權

14 </host>

5、修改公共配置文件:mmm_common.conf(五臺主機都需要)

在一臺主機上修改,然後傳送給其它四臺主機

active_master_role writer

<host default>

cluster_interface eth0

pid_path /var/run/mmm_agentd.pid

bin_path /usr/lib/mysql-mmm/

replication_user tongbu //本機用於主從同步的用戶

replication_password 123456

agent_user agent //代理程序去檢測的用戶名

agent_password 123456

</host>

<host master122>

ip 192.168.4.122

mode master //模式

peer master123 //身份對等的主機

</host>

<host master123>

ip 192.168.4.123

mode master

peer master122

</host>

<host slave126>

ip 192.168.4.126

mode slave

</host>

<host slave127>

ip 192.168.4.127

mode slave

</host>

<role writer>

hosts master122, master123

ips 192.168.4.100 //兩臺主備的虛擬IP

mode exclusive //獨占模式

</role>


<role reader>

hosts slave126, slave127

ips 192.168.4.101, 192.168.4.102

mode balanced //均衡模式

</role>

6、在4.122主機上添加兩個授權帳號: monitor, agent

grant replication client on *.* to monitor@'%' identified by '123456';

grant replication client,process,super on *.* to agent@'%' identified by '123456';

三、啟動數據節點服務和管理節點主機上的mmm_monitor服務

1、在五臺主機上安裝啟動的依賴包:下面三個rpm包或者tar包

解決啟動agent服務的依賴包:

Algorithm-Diff-1.1902.tar.gz

perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm

Proc-Daemon-0.03.tar.gz

2、安裝上面的三個包

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服務上安裝)

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、啟動agent服務:在五臺服務器上啟動

/etc/init.d/mysql-mmm-agent start //啟動服務

netstat -ntulp | grep 9989 //查看端口號,查看服務是否啟動

cat /var/log/mysql-mmm/mmm_agentd.log //啟動日誌

5、啟動管理節點主機上的mmm_monitor服務

/etc/init.d/mysql-mmm-monitor start //啟動

netstat -ntulp | grep 9988 //查看是否啟動

ls /var/log/mysql-mmm/mmm_mond.log //日誌文件

6、在管理主機上,查看監控信息: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、設置在線: mmm_control set_online 四臺都需要設置

mmm_control set_online master122

mmm_control set_online master123

mmm_control set_online slave126

mmm_control set_online slave127

設置完成後查看: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. //可以看到獲取到了兩個ip地址


四、測試

1、在數據節點上添加訪問數據庫的連接用戶,只需要在4.122上創建一個授權帳號

grant all on *.* to admin@'%' identified by '123456';

2、客戶端測試:

mysql -h192.168.4.100 -uadmin -p123456

登陸上去後,增刪改查數據庫,然後在四臺mysql

服務器上驗證是否正確

3、手動把4.122這臺主mysql服務器停掉,

看在客戶端是否能訪問,增刪改查等。

4、4.122手動起來後,首先需要設置在線:mmm_control set_online master122

但是VIP對應的還是4.123,不會自動切換過去,

必須要先把4.123:mmm_control set_offline master123,

這樣4.122才會獲得VIP






























































mysql系列之9--------mmm高可用集群