您好,登錄后才能下訂單哦!
本篇內容介紹了“Elasticsearch選舉機制是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
ES集群由節點(Node)構成,節點類型可配置如下:
conf/elasticsearch.yml: node.master: true/false node.data: true/false
node.master: true --master的候選節點,可以參與選舉,在ES的文檔中常被稱作master-eligible node
node.data: true --數據節點,會存儲分配在該node上的shard的數據并負責這些shard的寫入、查詢等。
任何一個集群內的node都可以執行任何請求,其會負責將請求轉發給對應的node進行處理,所以當node.master和node.data都為false時,這個節點可以作為一個類似proxy的節點,接受請求并進行轉發、結果聚合等。
ZenDiscovery是ES自己實現的一套用于節點發現和選主等功能的模塊,沒有依賴Zookeeper等工具
簡單來說,節點發現依賴以下配置:
conf/elasticsearch.yml: discovery.zen.ping.unicast.hosts: [1.1.1.1, 1.1.1.2, 1.1.1.3]
這個配置可以看作是,在本節點到每個hosts中的節點建立一條邊,當整個集群所有的node形成一個聯通圖時,所有節點都可以知道集群中有哪些節點,不會形成孤島。官方推薦這里設置為所有的master-eligible node
上面提到,集群中可能會有多個master候選節點,此時就要進行master選舉,保證只有一個當選master。如果有多個node當選為master,則集群會出現腦裂,腦裂會破壞數據的一致性,導致集群行為不可控,產生各種非預期的影響。
為了避免產生腦裂,ES采用了常見的分布式系統思路,保證選舉出的master被多數派(quorum)的候選節點認可,以此來保證只有一個master。這個quorum通過以下配置進行配置:
conf/elasticsearch.yml: discovery.zen.minimum_master_nodes: 2
“Elasticsearch選舉機制是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。