ES集群中各節(jié)點角色功能簡介
本博客根據(jù)ES 7.15 ,介紹ES中各節(jié)點角色功能爵赵。集群節(jié)點角色可以在配置文件elasticsearch.yml中通過node.roles配置,如果配置了節(jié)點角色只祠,那么該節(jié)點將只會執(zhí)行配置的角色功能;如果不配置注整,該節(jié)點將會執(zhí)行以下角色功能:
1萍桌、如果私自配置節(jié)點信息宵溅,請確保集群配置有master角色的節(jié)點和data角色的節(jié)點
2、如果有較大的機器學(xué)習(xí)(machine learning)任務(wù)或轉(zhuǎn)換(transform)任務(wù)上炎,建議將候選的主節(jié)點(Master-eligible node)與數(shù)據(jù)節(jié)點(data node)恃逻、機器學(xué)習(xí)節(jié)點(machine learning node)和轉(zhuǎn)換節(jié)點(transforming node)分開是很有必要的。
3藕施、每個節(jié)點都默認(rèn)為協(xié)調(diào)節(jié)點(Coordinating node)寇损,如果node.roles設(shè)置為[]那么該節(jié)點將只執(zhí)行協(xié)調(diào)節(jié)點功能
ES集群
(1)Cluster:代表一個集群,集群中有多個節(jié)點裳食,其中有一個為主節(jié)點润绵,這個主節(jié)點是可以通過選舉產(chǎn)生的,主從節(jié)點是對于集群內(nèi)部來說的胞谈。es的一個概念就是去中心化,字面上理解就是無中心節(jié)點憨愉,這是對于集群外部來說的烦绳,因為從外部來看es集群,在邏輯上是個整體配紫,你與任何一個節(jié)點的通信和與整個es集群通信是等價的径密。
(2)Shards:代表索引分片,es可以把一個完整的索引分成多個分片躺孝,這樣的好處是可以把一個大的索引拆分成多個享扔,分布到不同的節(jié)點上。構(gòu)成分布式搜索植袍。分片的數(shù)量只能在索引創(chuàng)建前指定惧眠,并且索引創(chuàng)建后不能更改。
(3)replicas:代表索引副本于个,es可以設(shè)置多個索引的副本氛魁,副本的作用一是提高系統(tǒng)的容錯性,當(dāng)某個節(jié)點某個分片損壞或丟失時可以從副本中恢復(fù)厅篓。二是提高es的查詢效率秀存,es會自動對搜索請求進行負(fù)載均衡。
(4)Recovery:代表數(shù)據(jù)恢復(fù)或叫數(shù)據(jù)重新分布羽氮,es在有節(jié)點加入或退出時會根據(jù)機器的負(fù)載對索引分片進行重新分配或链,掛掉的節(jié)點重新啟動時也會進行數(shù)據(jù)恢復(fù)。
(5)ES為什么要實現(xiàn)集群:在單臺ES服務(wù)器節(jié)點上档押,隨著業(yè)務(wù)量的發(fā)展索引文件慢慢增多澳盐,會影響到效率和內(nèi)存存儲問題等祈纯。ES集群,可以將單個索引的分片到多個不同分布式物理機器上存儲洞就,從而可以實現(xiàn)高可用盆繁、容錯性等。ES集群中索引可能由多個分片構(gòu)成旬蟋,并且每個分片可以擁有多個副本油昂。通過將一個單獨的索引分為多個分片,我們可以處理不能在一個單一的服務(wù)器上面運行的大型索引倾贰,簡單的說就是索引的大小過大冕碟,導(dǎo)致效率問題。不能運行的原因可能是內(nèi)存也可能是存儲匆浙。由于每個分片可以有多個副本安寺,通過將副本分配到多個服務(wù)器,可以提高查詢的負(fù)載能力首尼。
(6)es如何解決高并發(fā):ES是一個分布式全文檢索框架挑庶,隱藏了復(fù)雜的處理機制,內(nèi)部使用 分片機制软能、集群發(fā)現(xiàn)迎捺、分片負(fù)載均衡請求路由〔榕牛 Shards 分片:代表索引分片凳枝,es可以把一個完整的索引分成多個分片,這樣的好處是可以把一個大的索引拆分成多個跋核,分布到不同的節(jié)點上岖瑰。構(gòu)成分布式搜索。分片的數(shù)量只能在索引創(chuàng)建前指定砂代,并且索引創(chuàng)建后不能更改蹋订。Replicas分片:代表索引副本,es可以設(shè)置多個索引的副本刻伊,副本的作用一是提高系統(tǒng)的容錯性辅辩,當(dāng)某個節(jié)點某個分片損壞或丟失時可以從副本中恢復(fù)。二是提高es的查詢效率娃圆,es會自動對搜索請求進行負(fù)載均衡玫锋。
5、ES集群腦裂
6讼呢、ES集群的分布式存儲
·?如新增一個文檔流程 文檔-->協(xié)調(diào)節(jié)點(hash運算)-->mater-->決策路由到對應(yīng)主分片如node3節(jié)點-->同步副本分片到node2節(jié)點上-->返回結(jié)構(gòu)到
協(xié)調(diào)節(jié)點coordinating node-->再傳至matster
6撩鹿、故障轉(zhuǎn)移
·?停掉master
·?cerebro界面集群狀態(tài)瞬間變黃了
·?這是之前master節(jié)點的分片開始轉(zhuǎn)移至剩余的兩個節(jié)點,集群剩余兩個節(jié)點悦屏,且保證主副分片不在同一個幾點
·?重新啟動故障節(jié)點节沦,集群再次恢復(fù)三個節(jié)點键思,分片自動轉(zhuǎn)移過去,但是此時它已不是master節(jié)點