[英]elasticsearch: Proper config in 3 node cluster for each node to have full copy of index?
CentOS上的ElasticSearch 1.7.2的3節點集群
從傳統的群集角度來看,對於3節點環境,該方法是允許任何一個節點發生故障,並且群集仍可運行。
默認的elasticsearch.yml反映了這一點,一切都很好。
在我們的環境(3個節點)中,我們希望任何一個節點都能夠獨立運行,即使其他兩個節點都丟失了也可以運行。
我們相信以下可以達到此目的:
index.number_of_replicas: 2 # in 3-node cluster, every node will have p or r copy of every shard
discovery.zen.minimum_master_nodes: 2 # reqd for 3 node env, but what happens when only 1 node survives?
對上述方法有任何補充或更改嗎?
我們還有三節點集群,所有節點都可以成為主節點。 我想除了最小的主節點外,其余配置仍與默認配置相同。 只是提醒一下,當群集中只有一個節點在工作時,那么該節點上沒有可用的副本。 在為數據建立索引時,盡量不要在生產環境中出現這種情況,否則,如果數據集很大,一旦其他節點啟動,則需要花費大量時間來傳播所有更改和碎片的重新分配。 干杯。
答案是:
index.number_of_replicas: 2
在3節點系統上,這意味着每個節點將具有每個分片的副本,因此任何1節點都可以獨立/擁有所有數據。
分布式數據庫旨在抵抗故障,但每個節點並不意味着獨立。 可以將ES設置為使每個節點擁有來自每個索引的100%的數據,但這將意味着額外的副本和更少的碎片。 兩者都會導致群集性能下降。
如果您真的擔心您的兩個節點會同時發生故障,我建議您添加第4個數據節點而不是進行設置,以使第3個節點獨立運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.