通过ILM策略防止单个索引膨胀引发异常。
实际操作时索引没有预期策略精确执行。
#创建ilm策略
PUT _ilm/policy/datastream_policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size": "5MB",
"max_age": "1d",
"max_docs": 1
}
}
},
"delete": {
"min_age": "90d",
"actions": {
"delete": {}
}
}
}
}
}
#创建索引模板
PUT _template/datastream_template
{
"index_patterns": [
"datastream-*"
],
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0,
"index.lifecycle.name": "datastream_policy",
"index.lifecycle.rollover_alias": "datastream"
}
}
#初始化索引
PUT datastream-000001
{
"aliases": {
"datastream": {
"is_write_index": true
}
}
}
#创建索引
PUT datastream/_mapping
{
"properties": {
"name": {
"type": "text",
"analyzer": "standard"
}
}
}
#创建文档
POST /_bulk
{ "index" : { "_index" : "datastream"} }
{"name":"zs1"}
{ "index" : { "_index" : "datastream"} }
{"name":"zs2"}
{ "index" : { "_index" : "datastream"} }
{"name":"zs3"}
{ "index" : { "_index" : "datastream"} }
{"name":"zs4"}
PUT _cluster/settings
{
"transient": {
"indices.lifecycle.poll_interval": "1m"
}
}
LFM是定时任务,被时钟触发,像cron到点执行,不是监控实时执行。
// 伪代码
Timer:
if(文档总数量>策略设置数量) {
create index
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。