elasticsearch索引模板

论坛 期权论坛 期权     
选择匿名的用户   2021-6-2 17:52   6111   0

什么是索引模板

索引模板(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、删除索引,或者等待下次创建索引时才会生效。

删除索引步骤如下:

第一步:

第二步:

第三步,选择你需要删除的进行删除即可。

---------- 正文结束 ----------

长按扫码关注微信公众号

Java软件编程之家

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP