小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

如何防止ElasticSearch集群出現(xiàn)腦裂現(xiàn)象

 pengx 2016-08-31

什么是“腦裂”現(xiàn)象?

由于某些節(jié)點(diǎn)的失效,部分節(jié)點(diǎn)的網(wǎng)絡(luò)連接會(huì)斷開,并形成一個(gè)與原集群一樣名字的集群,這種情況稱為集群腦裂(split-brain)現(xiàn)象。這個(gè)問題非常危險(xiǎn),因?yàn)閮蓚€(gè)新形成的集群會(huì)同時(shí)索引和修改集群的數(shù)據(jù)。


如何避免腦裂問題?

避免腦裂現(xiàn)象,用到的一個(gè)參數(shù)是:discovery.zen.minimum_master_nodes。這個(gè)參數(shù)決定了要選舉一個(gè)Master需要多少個(gè)節(jié)點(diǎn)(最少候選節(jié)點(diǎn)數(shù))。默認(rèn)值是1。根據(jù)一般經(jīng)驗(yàn)這個(gè)一般設(shè)置成 N/2 + 1,N是集群中節(jié)點(diǎn)的數(shù)量,例如一個(gè)有3個(gè)節(jié)點(diǎn)的集群,minimum_master_nodes 應(yīng)該被設(shè)置成 3/2 + 1 = 2(向下取整)。

用到的另外一個(gè)參數(shù)是:discovery.zen.ping.timeout,等待ping響應(yīng)的超時(shí)時(shí)間,默認(rèn)值是3秒。如果網(wǎng)絡(luò)緩慢或擁塞,建議略微調(diào)大這個(gè)值。這個(gè)參數(shù)不僅僅適應(yīng)更高的網(wǎng)絡(luò)延遲,也適用于在一個(gè)由于超負(fù)荷而響應(yīng)緩慢的節(jié)點(diǎn)的情況。

如果您剛開始使用elasticsearch,建議搭建擁有3個(gè)節(jié)點(diǎn)的集群,這種方式可以把discovery.zen.minimum_master_nodes設(shè)置成2,這樣就限制了發(fā)生腦裂現(xiàn)象的可能,且保持著高度的可用性:如果你設(shè)置了副本,在丟失一個(gè)節(jié)點(diǎn)的情況下,集群仍可運(yùn)行。

真的高枕無憂了?

其實(shí)問題依然存在,ES的issue空間也在討論一個(gè)特例情況《#2488》:即使 minimum_master_nodes 設(shè)置了一個(gè)正確的值,腦裂也有可能發(fā)生。

如何識(shí)別這個(gè)問題?

在您的集群里面盡快識(shí)別這個(gè)問題非常重要。一個(gè)比較容易的方法是定時(shí)獲取每一個(gè)節(jié)點(diǎn)/_nodes響應(yīng),它返回了集群中所有節(jié)點(diǎn)的狀態(tài)報(bào)告,如果兩個(gè)節(jié)點(diǎn)返回的集群狀態(tài)不一樣,就是一個(gè)腦裂情況發(fā)生的警示信號(hào)。

新增解決方案

對(duì)于一個(gè)具有全功能的ES節(jié)點(diǎn),必須要有一個(gè)活動(dòng)的Master節(jié)點(diǎn)。ES1.4.0.Beta1后,新增了一項(xiàng)沒有Master時(shí)阻塞集群操作設(shè)置:discovery.zen.no_master_block。

當(dāng)集群中沒有活動(dòng)的Master節(jié)點(diǎn)后,該設(shè)置指定了哪些操作(read、write)需要被拒絕(即阻塞執(zhí)行)。有兩個(gè)設(shè)置值:all和write,默認(rèn)為wirte。

這項(xiàng)配置不會(huì)對(duì)基本api(例如集群狀態(tài)、節(jié)點(diǎn)信息和狀態(tài)API)產(chǎn)生影響,這些節(jié)點(diǎn)在任何節(jié)點(diǎn)上執(zhí)行都不會(huì)被阻塞。

總結(jié)

腦裂問題依然是一個(gè)比較難以解決的問題,最終解決方案也是妥協(xié)的結(jié)果。這個(gè)問題也是分布式系統(tǒng)都會(huì)面臨的問題。一下子想到了前幾天看到的CAP理論,難道只有CP或者AP?
總體感覺ES還很年輕,但因?yàn)樗拈_箱即用、天生集群、自動(dòng)容錯(cuò)、擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),還是選擇它來做全文檢索。

參考資料

http:///2015/01/05/resolve-elasticsearch-split-brain/

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多