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