簡體   English   中英

如何實現Elasticsearch分片大小的自動控制?

[英]How to implement automatic steering of Elasticsearch shard size?

我有一個存儲在Elasticsearch中的傳入數據(日志)流。 我需要實現一項功能,該功能可以連續檢查分片的大小,並且當達到某個點(例如30GB)時,它將開始將數據存儲在新的分片中。

我是Elasticsearch的新手,我找不到有關該操作的任何信息。 在這種情況下,是否需要為每個分片創建一個新索引?

我將不勝感激任何信息或鏈接。 我正在使用Elasticsearch 6.0。

您想使用Rollover Index API ,它應該適合您的需求。

基本上是這樣的。 您需要有一個指向單個索引的別名,下面我們用別名myalias創建一個索引myindex-000001

PUT /myindex-000001 
{
  "aliases": {
    "myalias": {}
  }
}

然后,您需要創建一個過渡條件,如下所示:

POST /myalias/_rollover 
{
  "conditions": {
    "max_size":  "30gb"
  }
}

每當myalias指向的索引大小達到myindex-000002都會創建一個名為myindex-000002的新索引,並且別名將切換到該索引。 因此,就您的客戶端應用程序而言,您始終可以將數據發送到myalias ,而其余​​的myalias ES完成。

暫無
暫無

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

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