簡體   English   中英

Elasticsearch - 向正在運行的集群添加一個節點

[英]Elasticsearch - Add one node to a running cluster

我有 Elasticsearch 集群(它不是真正的集群,因為我只有 1 個節點)該集群有 1.8 TB 的數據,例如 350 個索引。

我想向集群添加新節點,但我不想為所有數據運行復制。 我想將我的分片分成 2 個節點(每個節點將有 1 個分片)。

對於每個索引,我有 2 個分片 0 和 1,我想拆分我的數據。 這個有可能 ? 這將如何影響 Kibana 的性能?

非常感謝

阿米特

對於每個索引,我有 2 個分片 0 和 1,我想拆分我的數據。 這個有可能 ?

當您將第二個節點添加到集群時,您的數據將自動“重新平衡”並且您的數據將被復制。

想必,如果你要跑

$ curl -XGET localhost:9200/_cluster/health?pretty

那么您會看到您當前的集群健康狀況可能是黃色的,因為沒有發生復制。 您可以判斷,因為您可能擁有與未分配的分片(未分配的副本)相同數量的已分配主分片。

當你啟動集群中的第二個節點時會發生什么? 它將立即開始從原始節點復制分片。 完成后,數據將存在於兩個節點上,這就是您想要發生的事情。 當您通過最終添加第三個節點進一步擴展時,您實際上會以一種不太可預測的方式將分片分布在整個集群中,這不會導致節點之間的 1:1 關系。 只有添加第三個節點后,您才能合理地避免將所有分片數據復制到每個節點。

其他注意事項:

  • 確保將discovery.zen.minimum_master_nodes設置為2 這應該始終使用整數除法(截斷除法)設置為M / 2 + 1 ,其中M是集群中符合條件的主節點的數量。 如果你不設置這個設置,那么你最終會導致自己的數據丟失。
  • 需要復制,因為它可以在任一節點出現硬件故障時為您提供更高的可用性。 由於雙節點集群的上述設置,您的集群將是只讀的,直到您添加第二個節點或未設置設置,但至少數據仍然存在。

這將如何影響 Kibana 的性能?

很難說這是否真的會提高性能,但很可能只是將工作負載分散到兩台機器上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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