最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
MySQL+MMM高可用集群部署(二)

接上期,MySQL主從同步我們已經(jīng)部署完成,接下來(lái),我們開(kāi)始部署本期的核心---MMM高可用集群

網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。成都創(chuàng)新互聯(lián)擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營(yíng)銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開(kāi)源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺(jué)化效果。

四、MMM高可用集群部署

    1、安裝依賴包

    由于mmm 是用perl語(yǔ)言寫的腳本程序,因此需要在5臺(tái)服務(wù)器中分別安裝 perl 和 perl-CPAN

    [root@cluster-mysqlb ~]# yum -y install perl perl-CPAN

    2、yum 安裝 mmm

        a、在4臺(tái) MySQL 服務(wù)器中安裝 mysql-mmm-agent

        [root@cluster-mysqla ~]# yum -y install gcc gcc-c++ mysql-mmm-agent

        b、在 monitor 服務(wù)器中安裝 mysql-mmm-monitor

        [root@cluster-proxy ~]# yum -y install gcc gcc-c++ mysql-mmm-monitor

    3、配置 mmm

        mysql-mmm 的配置文件在 /etc/mysql-mmm目錄下,進(jìn)入該目錄

        mysql-mmm-agent 配置文件

        MySQL+MMM 高可用集群部署(二)

        mysql-mmm-monitor 配置文件

        MySQL+MMM 高可用集群部署(二)

        如圖,mysql-mmm-agent 的配置文件只有2個(gè),mmm_agent.conf 和 mmm_common.conf,而 mysql-mmm-monitor 的配置文件有4個(gè),原本是3個(gè),因?yàn)槲疫@里安裝了 mysql-mmm-tools ,因此多了一個(gè)mmm_tools.conf

        a、修改公共配置文件 mmm_common.conf

        [root@cluster-mysqla mysql-mmm]# vim mmm_common.conf

        MySQL+MMM 高可用集群部署(二)

        如圖:

        (1)、字段解釋

            active_master_role      writer                                           #主動(dòng)的master角色標(biāo)示,所有數(shù)據(jù)庫(kù)服務(wù)器都需要開(kāi)啟 read_only 參數(shù),而對(duì)于 Write 服務(wù)器,監(jiān)控服務(wù)器會(huì)自動(dòng)將 read_only 屬性關(guān)閉,也就是將其值設(shè)為1

            
            cluster_interface       eth0                                               #集群網(wǎng)絡(luò)接口
            pid_path                /run/mysql-mmm-agent.pid            #mmm-agent進(jìn)程pid文件路徑
            bin_path                /usr/libexec/mysql-mmm/               #可執(zhí)行文件路徑
            replication_user        slaveuser                                       #復(fù)制用戶
            replication_password    123456                                      #復(fù)制用戶的密碼
            agent_user              mmmagent                                     #代理用戶
            agent_password          123456                                       #代理用戶的密碼
            


                                                                          #這里寫 mastera 的主機(jī)名
            ip      192.168.20.134                                                       #mastera 的 IP 地址
            mode    master                                                                #角色模式:master   表示主庫(kù)
            peer    masterb                                                                #與 mastera 同等的主庫(kù)的主機(jī)名稱,也就是說(shuō)向 mastera 同步數(shù)據(jù)的數(shù)據(jù)庫(kù)的主機(jī)的名稱,因此為 masterb
            


                                                                          #這里的屬性同 mastera
            ip      192.168.20.128
            mode    master
            peer    mastera
            


                                                                              #從庫(kù)的主機(jī)名稱
            ip      192.168.20.129                                                        #從庫(kù)的 IP 地址
            mode    slave                                                                    #角色模式:該主機(jī)為 masterb 的從數(shù)據(jù)庫(kù),因此為 slave
            


                                                                              #這里的屬性同 slavea
            mode    slave
            


                                                                                #Write 角色配置
            hosts   mastera, masterb  #具有寫操作的主機(jī)名稱,這里的配置可以寫單個(gè),也可以寫多個(gè),寫單個(gè)的時(shí)候,可以避免在網(wǎng)絡(luò)延遲過(guò)大時(shí)切換Write,但是當(dāng)master出現(xiàn)故障時(shí),就無(wú)法進(jìn)行write了,只能對(duì)外提供read操作了
            ips     192.168.20.254                                           #對(duì)外提供寫操作的虛擬 IP 地址
            mode    exclusive                                                 #模式,exclusive 表示只允許存在一個(gè)主數(shù)據(jù)庫(kù),也就是只能寫 一個(gè)虛擬 IP 地址
            


                                                                                #read 角色配置
            hosts   slavea, slaveb                                                         #對(duì)外提供 read 操作的服務(wù)器的主機(jī)的名稱,這里也可以寫master進(jìn)來(lái),寫進(jìn)來(lái)時(shí),master也對(duì)外提供 read 操作
            ips     192.168.20.253, 192.168.20.252                               #對(duì)外提供 read 操作的虛擬 IP 地址,為了實(shí)現(xiàn)負(fù)載均衡,這里的虛擬 IP 地址至少應(yīng)該和 read 數(shù)據(jù)庫(kù)服務(wù)器數(shù)量相同
            mode    balanced                                                               #模式,balanced 表示負(fù)載均衡
            

        (2)、mmm_common.conf配置文件修改

                如果在服務(wù)器中有多張網(wǎng)卡,則需要在 cluster_interface 字段中指定網(wǎng)卡名稱

                按照上面的格式修改公共配置文件,修改完后復(fù)制到其他4臺(tái)服務(wù)器中

                scp /etc/mysql-mmm/mmm_common.conf [email protected]:/etc/mysql-mmm

                scp /etc/mysql-mmm/mmm_common.conf [email protected]:/etc/mysql-mmm

                scp /etc/mysql-mmm/mmm_common.conf [email protected]:/etc/mysql-mmm

                scp /etc/mysql-mmm/mmm_common.conf [email protected]:/etc/mysql-mmm

        (3)、mmm_agent.conf配置文件修改

            [root@cluster-mysqla mysql-mmm]# vim mmm_agent.conf

            MySQL+MMM 高可用集群部署(二)

            如圖,改配置文件只需要修改圖中標(biāo)示部分,因此,如果服務(wù)器是 mastera ,就改為 this mastera ,如果服務(wù)器是 masterb ,就改為 this masterb ,以此類推

        (4)、修改 mysql-mmm-monitor 的配置文件 mmm_mon.conf

            [root@cluster-proxy mysql-mmm]# vim mmm_mon.conf

            MySQL+MMM 高可用集群部署(二)

            如上圖,字段解釋

      include mmm_common.conf                                                                                                 #調(diào)用 mmm_common.conf 配置文件
     
      ip                  192.168.20.131                                                                                                  #監(jiān)控主機(jī) IP 地址
      pid_path            /run/mysql-mmm-monitor.pid                                                                    #監(jiān)控進(jìn)程 pid 文件目錄
      bin_path            /usr/libexec/mysql-mmm                                                                            #可執(zhí)行文件目錄
      status_path         /var/lib/mysql-mmm/mmm_mond.status                                                 
      ping_ips            192.168.20.134, 192.168.20.128, 192.168.20.129, 192.168.20.130               #這里寫4臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的 IP 地址
      auto_set_online     60

      # The kill_host_bin does not exist by default, though the monitor will
      # throw a warning about it missing.  See the section 5.10 "Kill Host
      # Functionality" in the PDF documentation.
      #
      # kill_host_bin     /usr/libexec/mysql-mmm/monitor/kill_host
      #
    


    
      monitor_user        monitor                                                                              #監(jiān)控用戶
      monitor_password    123456                                                                          #監(jiān)控用戶密碼
    


      debug 0

        按照上面的格式,配置好 mmm_mond.conf

    b、啟動(dòng) mmm 服務(wù)

        在4臺(tái) MySQL 服務(wù)器中啟動(dòng) mysql-mmm-agent 服務(wù)

        [root@cluster-mysqla mysql-mmm]# mmm_agentd start

        在監(jiān)控服務(wù)器中驅(qū)動(dòng) mysql-mmm-monitor 服務(wù)

        [root@cluster-proxy mysql-mmm]# mmm_mond start

    c、在 monitor 服務(wù)器查看其他4臺(tái)服務(wù)器的狀態(tài)

        [root@cluster-proxy mysql-mmm]# mmm_control show

        MySQL+MMM 高可用集群部署(二)

        如上圖,表示4臺(tái)數(shù)據(jù)庫(kù)服務(wù)器配置 mmm 配置 OK。

    d、測(cè)試虛擬 IP 地址是否能夠 ping 通

        如果能夠 ping 通,說(shuō)明 mysql-mmm 部署成功,如果無(wú)法 ping 通,則說(shuō)明在主機(jī)上虛擬 IP 地址沒(méi)有設(shè)置成功,這時(shí)候,我們需要在 5 臺(tái)數(shù)據(jù)庫(kù)服務(wù)器上執(zhí)行以下命令

        [root@cluster-mysqla mysql-mmm]# perl -MCPAN -e shell

        如圖:

        MySQL+MMM 高可用集群部署(二)

        cpan[1]> install Net::ARP

        如果在執(zhí)行 perl -MCPAN -e shell 該命令時(shí)報(bào)錯(cuò)   Can't locate CPAN.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .).



        說(shuō)明,我們沒(méi)有安裝 perl-CPAN,用 yum 安裝即可

        執(zhí)行完上述命令之后,在分別在4臺(tái)服務(wù)器中執(zhí)行下列命令

        mastera

        [root@cluster-mysqla mysql-mmm]# /usr/libexec/mysql-mmm/agent/configure_ip /etc/mysql-mmm/mmm_common.conf ens33 192.168.20.254

        masterb

        [root@cluster-mysqlb mysql-mmm]# /usr/libexec/mysql-mmm/agent/configure_ip /etc/mysql-mmm/mmm_common.conf ens33 192.168.20.254

        slavea
        [root@cluster-mysqlc mysql-mmm]# /usr/libexec/mysql-mmm/agent/configure_ip /etc/mysql-mmm/mmm_common.conf ens33 192.168.20.253

        slaveb

        [root@cluster-mysqld mysql-mmm]# /usr/libexec/mysql-mmm/agent/configure_ip /etc/mysql-mmm/mmm_common.conf ens33 192.168.20.252

        執(zhí)行上面命令之后,在 ping 虛擬 IP 地址,ping 測(cè)試 OK,能夠 ping 通

        最后,在查看4臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的狀態(tài)

        [root@cluster-proxy mysql-mmm]# mmm_control checks all

        如圖:

        MySQL+MMM 高可用集群部署(二)

        如果全是 OK ,說(shuō)明我們的 mysql-mmm 服務(wù)部署成功

        上面的地2列的意思分別是:

        ping:ping 測(cè)試,可以 ping 通時(shí) OK,否則,請(qǐng)按照上述操作檢查

        mysql:mysql server 在線時(shí) OK,否則,請(qǐng)檢查 mysql server 是否有停止

        rep_threadh:復(fù)制線程正在運(yùn)行時(shí) OK,否則請(qǐng)排查復(fù)制線程未運(yùn)行的原因,常見(jiàn)可能原因?yàn)椋?、監(jiān)控和復(fù)制所用的用戶名、密碼錯(cuò)誤;2、主從同步出現(xiàn)故障

        rep_backlog:復(fù)制擠壓的日志很少時(shí) OK,否則可能是服務(wù)器處理速度太慢或者數(shù)據(jù)量太大

    e、mmm_control 名詞解釋

        如圖:

        MySQL+MMM 高可用集群部署(二)

        check:查看指定 host 或者所有主機(jī)的指定狀態(tài)或者所有狀態(tài)

        show:查看當(dāng)前集群狀態(tài)

        set_online:把 host 的狀態(tài)由AWAITING_RECOVERY或者ADMIN_OFFLINE恢復(fù)到ONLINE

        set_offline:把 host 的狀態(tài)手動(dòng)設(shè)置為ADMIN_OFFLINE,并且會(huì)停止mysql復(fù)制

        mode:打印當(dāng)前monitor的運(yùn)行模式

        set_active:切換monitor進(jìn)程為主動(dòng)模式

        set_passive:切換monitor進(jìn)程為被動(dòng)模式

        set_manual:切換monitor進(jìn)程為手動(dòng)模式

        move_role:將write角色切換到其他主機(jī)

    f、測(cè)試mysql-mmm在服務(wù)故障情況下是否能夠自動(dòng)切換,這里值提供方法

        測(cè)試方法為:

        停止 mastera 的 mysql 服務(wù),查看 writer(192.168.20.254) 是否能夠切換到 masterb,隨后開(kāi)啟 mastera 的 mysql 服務(wù),在手動(dòng)停止 masterb 的 mysql 服務(wù),查看 writer(192.168.20.254) 是否能夠切換到 mastera ,如果都能,則說(shuō)明,我們的mysql-mmm集群部署時(shí)OK的,如果不能,請(qǐng)檢查mmm_common.conf配置文件是否有錯(cuò)。當(dāng)然還有其他測(cè)試思路,這里就不一一列舉了。

        

五、連接MMM集群

    部署完 mysql-mmm 集群,這時(shí)候我們就迫不及待的想要用我們現(xiàn)有的應(yīng)用服務(wù)去連接

    首先,我們?cè)趍astera新建一個(gè)MySQL賬號(hào)game

    mysql> grant all privileges on *.* to game@"%" identified by "123456";

    mysql> flush privileges;

    然后,我們?cè)谖覀兊膽?yīng)用服務(wù)器上連接虛擬 IP(192.168.20.254、192.168.20.253、192.168.20.252)

        a、連接192.168.20.254創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)

        [root@weba ~]# mysql -h292.168.20.254 -ugame -p123456

        MySQL+MMM 高可用集群部署(二)

        MySQL [(none)]> create database web;

        MySQL+MMM 高可用集群部署(二)

        b、連接192.168.20.253、192.168.20.252查看剛才創(chuàng)建的數(shù)據(jù)庫(kù)是否存在

        [root@webb ~]# mysql -h292.168.20.253 -ugame -p123456

            MySQL+MMM 高可用集群部署(二)

        [root@webb ~]# mysql -h292.168.20.252 -ugame -p123456

        MySQL+MMM 高可用集群部署(二)

        有圖可見(jiàn),我們連接192.168.20.254創(chuàng)建的數(shù)據(jù)庫(kù),在連接192.168.20.253和192.168.20.252后也能看得到,說(shuō)明一切OK

        注意:連接192.168.20.254時(shí),最好能夠切換 mastera 和 masterb 進(jìn)行連接建庫(kù)測(cè)試,在這期間有可能會(huì)出現(xiàn)以下報(bào)錯(cuò):

                  1209 - The MySQL server is running with the --read-only option so it cannot execute this statement

                  出現(xiàn)這個(gè)錯(cuò)誤原因是,mmm 將主數(shù)據(jù)庫(kù)設(shè)置成了只讀模式,我們只需要執(zhí)行 set global read_only=0; 即可

                 

        到此為止,我們的MySQL主從同步+MMM高可用集群部署完成,我們也列舉了一些在部署過(guò)程中可能會(huì)踩到的坑,但是,在線上部署中,需要具體問(wèn)題具體分析,所以,在以后的生活中,小弟還會(huì)和大佬們共同成長(zhǎng)。

        對(duì)于以上部署過(guò)程,若有疑問(wèn),可參照 官方安裝文檔 。

本節(jié)完。

        


文章標(biāo)題:MySQL+MMM高可用集群部署(二)
URL網(wǎng)址:http://fisionsoft.com.cn/article/pphjjs.html