創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
mha是使用python寫的嗎?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
MHA是一位日本MySQL大牛用Perl寫的一套MySQL故障切換方案,來保證數(shù)據(jù)庫系統(tǒng)的高可用。在宕機(jī)的時(shí)間內(nèi)(1030秒內(nèi)),完成故障切換,部署MHA,可避免主從一致性問題,節(jié)約購買新服務(wù)器的費(fèi)用,不影響服務(wù)器性能,易安裝,不改變現(xiàn)有部署。MHA還支持在線切換,從當(dāng)前運(yùn)行master切換到一個(gè)新的master上面,只需要很短的時(shí)間(0.52秒內(nèi)),切換時(shí)僅僅阻塞寫操作,并不影響讀操作,便于主機(jī)硬件維護(hù)。在有高可用,數(shù)據(jù)一致性要求的系統(tǒng)上,MHA 提供了強(qiáng)大的功能,幾乎無間斷的滿足維護(hù)需要。
優(yōu)點(diǎn):
(1)主庫自動(dòng)監(jiān)控和故障轉(zhuǎn)移
在當(dāng)前已存在的主從復(fù)制環(huán)境中,MHA可以監(jiān)控主庫故障,并自動(dòng)轉(zhuǎn)移故障。即使有一些從庫沒有接收到新的relay log events,MHA也會(huì)從接收過的其他從庫中自動(dòng)識(shí)別有差異的relay log events,并在沒接收到的從庫上進(jìn)行數(shù)據(jù)的前滾,以此來保障主從數(shù)據(jù)的一致性。
MHA可達(dá)到秒級(jí)別故障轉(zhuǎn)移(9~12秒監(jiān)測到主庫故障,任選7秒鐘關(guān)閉主庫電源主機(jī)避免腦裂,接下來對(duì)數(shù)據(jù)不全的從庫進(jìn)行數(shù)據(jù)的前滾(通過其他完整從庫的中繼日志relay log)),最后建立新的主庫,總停機(jī)時(shí)間在(total downtime)10~30秒)。另外,在配置文件里可以配置一個(gè)從庫優(yōu)先成為主庫,因?yàn)镸HA修復(fù)了從庫之間的一致性,dba就不用去處理一致性問題。當(dāng)建立新的主庫之后,并行恢復(fù)其他從庫。即使有成千上萬的從庫,也不會(huì)影響恢復(fù)主庫時(shí)間,從庫也很快完成數(shù)據(jù)同步。
例子:DeNA公司在150+主從環(huán)境中使用MHA。其中一個(gè)master崩潰,MHA在4秒完成故障轉(zhuǎn)移,這是主動(dòng)/被動(dòng)集群解決方案無法完成的。
(2)互動(dòng)(手動(dòng))master故障轉(zhuǎn)移
MHA可以用來只做故障轉(zhuǎn)移,即不監(jiān)測主庫狀態(tài),只作為故障轉(zhuǎn)移的交互。
(3)非交互式故障轉(zhuǎn)移
MHA也提供非交互式的故障轉(zhuǎn)移(不監(jiān)測主庫狀態(tài),自動(dòng)故障轉(zhuǎn)移)。這個(gè)特性很有用,特別是你已經(jīng)安裝了其他軟件監(jiān)控主庫。比如,用Pacemaker(Heartbeat)監(jiān)測主庫故障和vip接管,用MHA進(jìn)行故障轉(zhuǎn)移和從庫提升。
(4)在線切換主庫到不同主機(jī)
在很多情況下,有必要將主庫轉(zhuǎn)移到其他主機(jī)上(如替換raid控制器,提升主庫機(jī)器硬件等等)。這并不是主庫崩潰,而是計(jì)劃維護(hù)必須去做的。計(jì)劃維護(hù)會(huì)導(dǎo)致downtime,所以必須盡可能快的恢復(fù)??焖俚闹鲙烨袚Q和優(yōu)雅的阻塞寫操作是必需的,MHA提供了這種方式。優(yōu)雅的主庫切換, 0.52秒內(nèi)阻塞寫操作。在很多情況下0.52秒的downtime是可以接受的,并且不影響計(jì)劃維護(hù)窗口。這意味著當(dāng)需要更換更快機(jī)器,升級(jí)高版本時(shí),dba可以很容易采取動(dòng)作。
(5)master 崩潰不會(huì)導(dǎo)致主從數(shù)據(jù)不一致性
當(dāng)master 崩潰后,MHA自動(dòng)識(shí)別從庫間relay log events的不同,然后應(yīng)用于不同的從庫上,最終所有從庫都同步。結(jié)合通過半同步一起使用,幾乎沒有任何數(shù)據(jù)丟失。
(6)MHA部署不影響當(dāng)前環(huán)境設(shè)置
MHA最重要的一個(gè)設(shè)計(jì)理念就是盡可能使用簡單。其他高可用方案需要改mysql部署設(shè)置,MHA不會(huì)讓dba做這些部署配置,同步和半同步環(huán)境都可以用。啟動(dòng)/停止/升級(jí)/降級(jí)/安裝/卸載 MHA都不用改變(如啟動(dòng)/停止)mysql主從環(huán)境。
當(dāng)你需要升級(jí)MHA到新版本時(shí),不需要停止mysql,僅僅更新HMA版本,然后重新啟動(dòng)MHAmanger即可。有些高可用方案要求特定的mysql版本(如mysql cluster,mysql with global transaction id 等),而且你可能不想僅僅為了MasterHA而遷移應(yīng)用。很多情況下,公司已經(jīng)部署了許多傳統(tǒng)的mysql應(yīng)用,開發(fā)或dba不想花太多時(shí)間遷移到不同的存儲(chǔ)引擎或新的特性上。
(7)不增加服務(wù)器費(fèi)用
MHA 包含MHA Manager和MHA node。MHA node運(yùn)行在每臺(tái)mysql服務(wù)器上,Manager可以單獨(dú)部署一臺(tái)機(jī)器,可監(jiān)控100+以上數(shù)量的數(shù)據(jù)庫,總服務(wù)器數(shù)量不會(huì)有太大增加。需要注意的是Manager也可以運(yùn)行在其中一臺(tái)從庫上。
(8)性能無影響
當(dāng)監(jiān)控主庫時(shí),MHA只是每幾秒鐘(默認(rèn)3秒)發(fā)送ping包,不發(fā)送大的查詢。主從復(fù)制性能不受影響。
(9)適用任何存儲(chǔ)引擎
Mysql不僅僅適用于事務(wù)安全的innodb引擎,在主從中適用的引擎,MHA都可以適用。即使使用遺留環(huán)境的myisam引擎,不進(jìn)行遷移,也可以用MHA。
架構(gòu)
在架構(gòu)上來說,MHA分為兩類:
(1)Node
MHA是基于MySQL 主從復(fù)制環(huán)境的,在該環(huán)境中,不管是Master角色,還是Slave角色,都稱為Node,是被監(jiān)控管理的對(duì)象節(jié)點(diǎn)。Node服務(wù)器上需要安裝MHA Node包。
(2)Manager
Manager為MHA架構(gòu)中的管理者,建議部署在一臺(tái)獨(dú)立的服務(wù)器上,當(dāng)然也可部署在某個(gè)Slave上,但該Slave永遠(yuǎn)不要被選擇成為新的Master,否則故障切換后的MHA架構(gòu)就失去了高可用性。Manager服務(wù)器需要安裝MHA Manager包,并完善一個(gè)主配置文件。一個(gè)Manager可管理多套MySQL 主從復(fù)制環(huán)境。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
名稱欄目:mha是使用python寫的嗎-創(chuàng)新互聯(lián)
路徑分享:http://chinadenli.net/article2/ccoooc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、搜索引擎優(yōu)化、建站公司、定制網(wǎng)站、品牌網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容