簡體   English   中英

elasticsearch:在3個節點群集中正確配置每個節點是否具有索引的完整副本?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM