成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

MySQL中MHA有什么用-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)MySQL中MHA有什么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

我們擁有十余年網(wǎng)頁設(shè)計和網(wǎng)站建設(shè)經(jīng)驗,從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作、微信開發(fā)、重慶小程序開發(fā)成都手機網(wǎng)站制作、HTML5、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計或者設(shè)計方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計服務(wù)并滿足您的需求。

概述
MHA是一位日本MySQL大牛用Perl寫的一套MySQL故障切換方案,來保證數(shù)據(jù)庫系統(tǒng)的高可用.在宕機的時間內(nèi)(通常10—30秒內(nèi)),完成故障切換,部署MHA,可避免主從一致性問題,節(jié)約購買新服務(wù)器的費用,不影響服務(wù)器性能,易安裝,不改變現(xiàn)有部署。
還支持在線切換,從當(dāng)前運行master切換到一個新的master上面,只需要很短的時間(0.5-2秒內(nèi)),此時僅僅阻塞寫操作,并不影響讀操作,便于主機硬件維護。
在有高可用,數(shù)據(jù)一致性要求的系統(tǒng)上,MHA 提供了有用的功能,幾乎無間斷的滿足維護需要。


優(yōu)點
1 master自動監(jiān)控和故障轉(zhuǎn)移
在當(dāng)前已存在的主從復(fù)制環(huán)境中,MHA可以監(jiān)控master主機故障,并且故障自動轉(zhuǎn)移。
即使有一些slave沒有接受新的relay log events,MHA也會從最新的slave自動識別差異的relay log events,并apply差異的event到其他slaves。因此所有的slave都是一致的。MHA秒級別故障轉(zhuǎn)移(9-12秒監(jiān)測到主機故障,任選7秒鐘關(guān)閉電源主機避免腦裂,接下來apply差異relay logs,注冊到新的master,通常需要時間10-30秒即total downtime)。另外,在配置文件里可以配置一個slave優(yōu)先成為master。因為MHA修復(fù)了slave之間的一致性,dba就不用去處理一致性問題。
 當(dāng)遷移新的master之后,并行恢復(fù)其他slave。即使有成千上萬的slave,也不會影響恢復(fù)master時間,slave也很快完成。
  DeNA公司在150+主從環(huán)境中用MHA。當(dāng)其中一個master崩潰,MHA4秒完成故障轉(zhuǎn)移,這是主動/被動集群解決方案無法完成的。

2 互動(手動)master故障轉(zhuǎn)移
MHA可以用來只做故障轉(zhuǎn)移,而不監(jiān)測master,MHA只作為故障轉(zhuǎn)移的交互。


3 非交互式故障轉(zhuǎn)移
非交互式的故障轉(zhuǎn)移也提供(不監(jiān)控master,自動故障轉(zhuǎn)移)。這個特性很有用,特別是你已經(jīng)安裝了其他軟件監(jiān)控master。比如,用Pacemaker(Heartbeat)監(jiān)測master故障和vip接管,用MHA故障轉(zhuǎn)移和slave提升。


4 在線切換master到不同主機
在很多情況下,有必要將master轉(zhuǎn)移到其他主機上(如替換raid控制器,提升master機器硬件等等)。這并不是master崩潰,但是計劃維護必須去做。計劃維護導(dǎo)致downtime,必須盡可能快的恢復(fù)??焖俚膍aster切換和優(yōu)雅的阻塞寫操作是必需的,MHA提供了這種方式。優(yōu)雅的master切換, 0.5-2秒內(nèi)阻塞寫操作。在很多情況下0.5-2秒的downtime是可以接受的,并且即使不在計劃維護窗口。這意味著當(dāng)需要更換更快機器,升級高版本時,dba可以很容易采取動作。


5 master crash不會導(dǎo)致主從數(shù)據(jù)不一致性
當(dāng)master crash后,MHA自動識別slave間relay logevents的不同,然后應(yīng)用與不同的slave,最終所有slave都同步。結(jié)合通過半同步一起使用,幾乎沒有任何數(shù)據(jù)丟失。


其他高可用方案
6 MHA部署不影響當(dāng)前環(huán)境設(shè)置
MHA最重要的一個設(shè)計理念就是盡可能使用簡單。使用與5.0+以上主從環(huán)境,其他HA方案需要改變mysql部署設(shè)置,MHA不會讓dba做這些部署配置,同步和半同步環(huán)境都可以用。啟動/停止/升級/降級/安裝/卸載 MHA都不用改變mysql主從(如啟動/停止)。
當(dāng)你需要升級MHA到新版本時,不需要停止mysql,僅僅更新HMA版本,然后重新啟動MHAmanger即可。
MHA 支持包含5.0/5/1/5.5(應(yīng)該也支持5.6,翻譯文檔時MHA開發(fā)者沒更新對于5.6版本)。有些HA方案要求特定的mysql版本(如mysqlcluster,mysql with global transaction id 等),而且你可能不想僅僅為了MasterHA而遷移應(yīng)用。很多情況下,公司已經(jīng)部署了許多傳統(tǒng)的mysql應(yīng)用,開發(fā)或dba不想花太多時間遷移到不同的存儲引擎或新的特性(newer bleeding edge distributions 不知道這個是否該這么翻譯)。


7 不增加服務(wù)器費用
MHA 包含MHA Manager和MHA node。MHA node運行在每臺mysql服務(wù)器上,Manager可以單獨部署一臺機器,監(jiān)控100+以上master,總服務(wù)器數(shù)量不會有太大增加。需要注意的是Manager也可以運行在slaves中的一臺機器上。


8 性能無影響
當(dāng)監(jiān)控master,MHA只是幾秒鐘(默認3秒)發(fā)送ping包,不發(fā)送大的查詢。主從復(fù)制性能不受影響


9 適用任何存儲引擎
Mysql不僅僅適用于事務(wù)安全的innodb引擎,在主從中適用的引擎,MHA都可以適用。即使用遺留環(huán)境的mysiam引擎,不進行遷移,也可以用MHA。


與其他HA方案比較
Doing everything manually Mysql replication 是同步或半同步。當(dāng)master崩潰時,很有可能一些slave還沒有接受最新的relay log events,這意味著每一個slave都相互處在不同的狀態(tài)。人為修復(fù)一致性問題顯得不再平凡。沒有一致性問題,主從也可能不會啟動(如duplicate key error)?;ㄙM1個多小時重新啟動主從復(fù)制顯得不同尋常。

Single master and single slave 在單一主從情況下,一些slave 落后與其他slave的情況將不會發(fā)生。其中一個master崩潰,可以輕松的讓應(yīng)用轉(zhuǎn)移到一個新的master上面,提供對外服務(wù),故障遷移很簡單。

Master, one candidate master, and multiple slaves雙主多從 雙主多從的架構(gòu)也很常見。主master掛掉,備用master將接替主master提供服務(wù)。某些情況配置為多主架構(gòu)。


M(RW)-----M2(R) M(RW), promoted from M2

   |                                          |
+----+----+ --(master crash)--> +-x--+--x-+


S(R) S2(R) S(?) S(?)


                                      (Fromwhich position should S restart replication?)
但是這并不作為master故障轉(zhuǎn)移方案。當(dāng)前master掛掉,剩余slave不一定接受全部relay log events,修復(fù)數(shù)據(jù)一致性還是問題。


這種架構(gòu)使用廣泛,但是不是所有人都能深刻理解上述問題。當(dāng)前master掛掉,slave變得不統(tǒng)一或者slave不能從新的master復(fù)制數(shù)據(jù)。


也許雙master,其中一個master只讀,每個master都至少有一個slave也許可能解決問題。


     M(RW)--M2(R)
      |      |
    S(R)   S2(R)
Pacemaker + DRBD Pecemaker(Heartbeat)+DRBD+Mysql是一個通用方案。但是這個方案也有以下問題


1 費用問題,特別是跑大量主從環(huán)境。Pecemaker+DRBD是主動/被動的解決方案,因此需要一臺被動服務(wù)器對外不提供任何應(yīng)用服務(wù)?;镜男枰呐_mysql服務(wù)器,one active master,one passive master,two slaves。


2 宕機時間(downtime)。Pacemaker+DRBD是主備集群,主master掛掉,備用master啟用。這可能花費長的時間,特別是沒有用innodb plugin。即使用innodb plugin,花費幾分鐘開始在備用master上接受連接也不尋常。另外,因為備用master上數(shù)據(jù)/文件緩存是空的,恢復(fù)時間,熱身(填充數(shù)據(jù)到data buffer pool)花費不可忽視的時間。實踐中,需要一臺或更多slave提供足夠的讀服務(wù)。在熱身時間內(nèi),空緩存導(dǎo)致寫性能降低


3 寫問題下降或一致性問題。為了讓主動/被動集群真正的工作,每次提交(commit)后,必須刷新事務(wù)日志(binary log和innodb log),也就是必須設(shè)置innodb-flush-log-at-trx-commit=1,sync-binlog=1。設(shè)置sync-binlog=1會降低寫性能,因為fsync()函數(shù)被序列化(sync-binlog=1,group commit失效)。大部分案例中,不設(shè)置sync-binlog=1.如果沒有設(shè)置sync-binlog=1,活動master crash,新的master(先前被動服務(wù)器)可能會丟失一些已經(jīng)發(fā)送到slave的binary log events。假如 master 掛掉,slave A接受到mysqld-bin.000123,位置1500。binlog data刷新到硬盤的位置在1000,那么新的master數(shù)據(jù)也只能mysqld-bin.000123的1000處,然后在啟動時創(chuàng)建一個新的binary log mysqld-bin.000124。如果發(fā)生這種情況,slave A不能繼續(xù)復(fù)制,因為新的master 沒有mysqld-bin.000123位置1500.


4 復(fù)雜。對多數(shù)人來說,安裝/初始化pacemake和DRBD不是容易的事情。相對于其他案例,初始化DRBD需要重新創(chuàng)建系統(tǒng)分區(qū)也不容易。要求dba在DRBD和linux內(nèi)核層有足夠的技能。如果dba執(zhí)行了一個錯誤命令(如執(zhí)行drbdadm–overwrite-data-of-peer primary 在被動節(jié)點),那么將會損壞活動的數(shù)據(jù)。重要的是另外一旦硬盤io層出現(xiàn)問題,多數(shù)dba處理這種問題不是容易的。


MySQL Cluster Mysql cluster是真正的高可用解決方案,但是必須得用NDB存儲引擎。如果你用innodb,將不能發(fā)揮mysql cluster集群優(yōu)勢。


Semi-Synchronous Replication 半同步復(fù)制大大降低了binlog event僅僅存在于崩潰master上的這種風(fēng)險。這非常有用的能避免數(shù)據(jù)丟失。但是半同步不能解決所有一致性問題,只能保證一個(不是所有)slave接受到master端的commit的binlog events,其他slave也許還沒有接受全部的binlog events。不能apply不同的binlog events 從新的slave到 其他slave上,也不能保證相互一致性


Global Transaction ID GlobalTransaction ID所要達到的目的跟MHA相同,但它覆蓋更多。MHA只是兩級復(fù)制,但是global transaction id覆蓋任何級別的復(fù)制環(huán)境,即使第兩級復(fù)制失敗,dba也能覆蓋第三級。Check Google'sglobal transaction id project for details。

感謝各位的閱讀!關(guān)于“MySQL中MHA有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

文章題目:MySQL中MHA有什么用-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://jinyejixie.com/article20/dpdsjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站微信公眾號、電子商務(wù)、用戶體驗、云服務(wù)器、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
师宗县| 宝丰县| 竹山县| 双柏县| 多伦县| 寻乌县| 黔江区| 咸阳市| 加查县| 轮台县| 天镇县| 宾川县| 饶阳县| 申扎县| 奉节县| 莱阳市| 五河县| 晋中市| 融水| 鄯善县| 南川市| 慈溪市| 买车| 大荔县| 阳泉市| 错那县| 应城市| 沛县| 遵义市| 平陆县| 晋江市| 鲜城| 长春市| 丹江口市| 巍山| 普洱| 三都| 皮山县| 板桥市| 苗栗市| 英德市|