什么是索引模板
索引模板(indices-templates)的作用的告诉es在创建某些索引时如何配置索引的约束,包括的约束有:mappings,、settings、aliases。注意,索引模板需要在创建索引之前创建,然后在手动创建索引或通过对doc建立索引时,模板设置将起作用。
快速入门
下面来看个例子:
PUT /_index_template/template_1{ "index_patterns" : ["hello-*"], "priority" : 1, "template": { "settings" : { "number_of_shards" : 2 } }}
URL格式:
PUT /_index_template/<index-template-name>
描述:
-
index_patterns:指定适配的索引,支持简单的正则通配符,hello-*表示适配所有以hello-开头的索引。
-
priority:指定当前索引模板的优先级,值越大优先级越高,默认为0。当索引有多个模板同时适配时,相同的配置以优先级高的为准。
-
template:设置索引settings、mappings、aliases部分,关于settings、mappings、aliases这里不做展开介绍。
ELK实战
ELK是分布式架构下日志收集的一套解决方案,我们通常会在生产环境或测试环境都搭建一套ELK,假如我们测试环境资源有限,es只部署在单个节点上,并且配置logstash时使用了默认的索引配置,这时我们访问http://ip:9200/_cat/health就会发现我们的es集群状态为:yellow,大概如下图所示:
1594262473 02:41:13 my-es yellow 1 1 17 17 0 0 10 0 - 63.0%
原因是默认主分片数量为1,主分片副本数量也是1,加起来就是2,但是es强制规定同一个节点不能创建2个相同的分片,这时就会导致任何索引的主分片的副本没有复制。为了解决这个问题,我们通过索引模板来修改创建索引时的分片副本数量为0,这样每个主分片就没有副本了,整个es集群就会恢复green状态。下面是具体步骤:
1、访问kibana,点击Dev Tools :
2、输入以下代码:
PUT /_index_template/template_1{ "index_patterns" : ["myindex_*"], "priority" : 100, "template": { "settings" : { "number_of_shards" : 1, "number_of_replicas": 0 } }}
3、点击执行即可.
4、删除索引,或者等待下次创建索引时才会生效。
删除索引步骤如下:
第一步:
第二步:
---------- 正文结束 ----------
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。