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

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

    




    

    


    




     










    

    


   













































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章