← 返回首页
Elasticsearch中的settings
发表时间:2024-01-10 03:06:04
Elasticsearch中的settings

Elasticsearch中的settings。

1.settings

ES中的settings可以设置索引库的一些配置信息,主要是针对分片数量和副本数量。其中分片数量只能在一开始创建索引库的时候指定,后期不能修改,副本数量可以随时修改。

首先查看一下ES中目前已有的索引库myschool的默认settings信息。

[es@master elasticsearch]$ curl -XGET 'http://master:9200/myschool/_settings?pretty'
{
  "myschool" : {
    "settings" : {
      "index" : {
        "routing" : {
          "allocation" : {
            "include" : {
              "_tier_preference" : "data_content"
            }
          }
        },
        "number_of_shards" : "1",
        "provided_name" : "myschool",
        "creation_date" : "1704763554171",
        "number_of_replicas" : "1",
        "uuid" : "tRRhSzCLRG6vNGMhRveJlA",
        "version" : {
          "created" : "7130499"
        }
      }
    }
  }
}

此时分片和副本数量默认都是1。针对不存在的索引,在创建的时候可以同时指定分片(5)和副本(1)数量:

curl -H "Content-Type: application/json" -XPUT 'http://master:9200/test1/' -d'{"settings":{"number_of_shards":5,"number_of_replicas":1}}'

我们也可以在cerebro观察新创建的test1索引的分片和副本状态。

针对已存在的索引,只能通过settings指定副本信息。将刚才创建的索引的副本数量修改为3。

curl -H "Content-Type: application/json" -XPUT 'http://master:9200/test1/_settings' -d'{"index":{"number_of_replicas":3}}'

2.分片与副本的区别

分片是对数据的一种分割,总的数据依旧只有一份,这样可以保证查询的高效性,副本则是复制多份分片的数据,这样可以保证数据的高可靠性,防止数据丢失。简单说,分片是保证高效性,副本保证了可靠性。