【elasticsearch】给指定的模版设置分片

1.删除模版

all_index_shards:这个模版是所有的索引遵循的模版规则。
--查询原来的模版:all_index_shards
[esadmin@oracle1 translog]$ curl -X GET "192.168.1.7:9201/_template/all_index_shards"
{
    "all_index_shards": {
        "order": 0,
        "index_patterns": [
            "*"
        ],
        "settings": {
            "index": {
                "number_of_shards": "3",
                "number_of_replicas": "1"
            }
        },
        "mappings": {},
        "aliases": {}
    }
}
--删除它。
curl -X DELETE "192.168.1.7:9201/_template/all_index_shards"

2.给指定的模版设置分片 

--创建一个模版:xsq ,匹配:xsq* 的索引都遵循这个分片规则。
[esadmin@oracle1 translog]$ curl http://192.168.1.7:9201/_cat/shards?v
index shard prirep state docs store ip node

--创建模版:xsq 
curl -X PUT 192.168.1.7:9201/_template/xsq -H 'Content-Type: application/json' -d '{
"template": "xsq*",
"settings": {
"number_of_shards": 5,
"number_of_replicas": "1"
}}'

--查询模版。
curl -X GET "192.168.1.7:9201/_template/xsq"
[esadmin@oracle1 translog]$ curl -X GET "192.168.1.7:9201/_template/xsq"
{
    "xsq": {
        "order": 0,
        "index_patterns": [
            "xsq*"
        ],
        "settings": {
            "index": {
                "number_of_shards": "5",
                "number_of_replicas": "1"
            }
        },
        "mappings": {},
        "aliases": {}
    }
}

3.插入数据

(1)给匹配模版的索引插入数据 
curl -XPOST http://192.168.1.7:9201/xsq1/_doc/?pretty -H 'Content-Type: application/json' -d '
{
"id" : "1","name" : "xsq001","city" : "深圳","成绩":"非常差劲"
}'

curl -XPOST http://192.168.1.7:9201/xsq1/_doc/?pretty -H 'Content-Type: application/json' -d '
{
"id" : "2","name" : "xsq002","city" : "北京","成绩":"非常棒"
}'

--检查分片 
[esadmin@oracle1 translog]$ curl http://192.168.1.7:9201/_cat/shards?v
index shard prirep state   docs  store ip          node
xsq1  3     p      STARTED    0   208b 192.168.1.7 esdb-node-3
xsq1  3     r      STARTED    0   208b 192.168.1.7 esdb-node-2
xsq1  4     r      STARTED    2 10.9kb 192.168.1.7 esdb-node-3
xsq1  4     p      STARTED    2 10.9kb 192.168.1.7 esdb-node-2
xsq1  2     r      STARTED    0   208b 192.168.1.7 esdb-node-3
xsq1  2     p      STARTED    0   208b 192.168.1.7 esdb-node-1
xsq1  1     p      STARTED    0   208b 192.168.1.7 esdb-node-2
xsq1  1     r      STARTED    0   208b 192.168.1.7 esdb-node-1
xsq1  0     p      STARTED    0   208b 192.168.1.7 esdb-node-3
xsq1  0     r      STARTED    0   208b 192.168.1.7 esdb-node-1

--新建的索引匹配:xsq*,有5个分片,每个分片有一个副本。
--删除索引 
--curl -X DELETE "http://192.168.1.7:9201/xsq1"

(2)创建一个不匹配xsq*的索引:xs1;
--然后使用了默认的1个副本一个分片的配置。
curl -XPOST http://192.168.1.7:9201/xs1/_doc/?pretty -H 'Content-Type: application/json' -d '
{
"id" : "1","name" : "xsq001","city" : "深圳","成绩":"非常差劲"
}'


[esadmin@oracle1 translog]$ curl http://192.168.1.7:9201/_cat/shards?v
index shard prirep state   docs  store ip          node
xsq1  3     p      STARTED    0   208b 192.168.1.7 esdb-node-3
xsq1  3     r      STARTED    0   208b 192.168.1.7 esdb-node-2
xsq1  4     r      STARTED    2 10.9kb 192.168.1.7 esdb-node-3
xsq1  4     p      STARTED    2 10.9kb 192.168.1.7 esdb-node-2
xsq1  2     r      STARTED    0   208b 192.168.1.7 esdb-node-3
xsq1  2     p      STARTED    0   208b 192.168.1.7 esdb-node-1
xsq1  1     p      STARTED    0   208b 192.168.1.7 esdb-node-2
xsq1  1     r      STARTED    0   208b 192.168.1.7 esdb-node-1
xsq1  0     p      STARTED    0   208b 192.168.1.7 esdb-node-3
xsq1  0     r      STARTED    0   208b 192.168.1.7 esdb-node-1
xs1   0     p      STARTED    1  5.5kb 192.168.1.7 esdb-node-2
xs1   0     r      STARTED    1  5.5kb 192.168.1.7 esdb-node-1

4.给指定的索引指定分片和副本数

curl -X PUT "192.168.1.7:9201/mydb1" -H 'Content-Type: application/json' -d'
{
  "settings": {
    "index": {
      "number_of_shards": 3,
      "number_of_replicas": 2
    }
  }
}
'
--插入数据 
curl -XPOST http://192.168.1.7:9201/mydb1/_doc/?pretty -H 'Content-Type: application/json' -d '
{
"id" : "1","name" : "xsq001","city" : "深圳","成绩":"非常差劲"
}'

--检查副本
--果然,索引:mydb1,遵循了它设置的分片和副本:3个分片,每个分片2个副本。 
[esadmin@oracle1 translog]$ curl http://192.168.1.7:9201/_cat/shards?v
index shard prirep state   docs  store ip          node
xsq1  3     p      STARTED    0   208b 192.168.1.7 esdb-node-3
xsq1  3     r      STARTED    0   208b 192.168.1.7 esdb-node-2
xsq1  4     r      STARTED    2 10.9kb 192.168.1.7 esdb-node-3
xsq1  4     p      STARTED    2 10.9kb 192.168.1.7 esdb-node-2
xsq1  2     r      STARTED    0   208b 192.168.1.7 esdb-node-3
xsq1  2     p      STARTED    0   208b 192.168.1.7 esdb-node-1
xsq1  1     p      STARTED    0   208b 192.168.1.7 esdb-node-2
xsq1  1     r      STARTED    0   208b 192.168.1.7 esdb-node-1
xsq1  0     p      STARTED    0   208b 192.168.1.7 esdb-node-3
xsq1  0     r      STARTED    0   208b 192.168.1.7 esdb-node-1
xs1   0     p      STARTED    1  5.5kb 192.168.1.7 esdb-node-2
xs1   0     r      STARTED    1  5.5kb 192.168.1.7 esdb-node-1
mydb1 2     r      STARTED    1  5.5kb 192.168.1.7 esdb-node-3
mydb1 2     r      STARTED    1  5.5kb 192.168.1.7 esdb-node-2
mydb1 2     p      STARTED    1  5.5kb 192.168.1.7 esdb-node-1
mydb1 1     r      STARTED    0   208b 192.168.1.7 esdb-node-3
mydb1 1     p      STARTED    0   208b 192.168.1.7 esdb-node-2
mydb1 1     r      STARTED    0   208b 192.168.1.7 esdb-node-1
mydb1 0     p      STARTED    0   208b 192.168.1.7 esdb-node-3
mydb1 0     r      STARTED    0   208b 192.168.1.7 esdb-node-2
mydb1 0     r      STARTED    0   208b 192.168.1.7 esdb-node-1

--重新插入匹配xsq* 的索引数据 
curl -XPOST http://192.168.1.7:9201/xsq-index/_doc/?pretty -H 'Content-Type: application/json' -d '
{
"id" : "1","name" : "xsq001","city" : "深圳","成绩":"非常差劲"
}'
--还是遵循:5分片,1副本。
[esadmin@oracle1 translog]$ curl http://192.168.1.7:9201/_cat/shards?v
index      shard prirep state   docs store ip          node
xsq-index  3     r      STARTED    0  208b 192.168.1.7 esdb-node-3
xsq-index  3     p      STARTED    0  208b 192.168.1.7 esdb-node-2
xsq-index  4     r      STARTED    1 5.6kb 192.168.1.7 esdb-node-2
xsq-index  4     p      STARTED    1 5.5kb 192.168.1.7 esdb-node-1
xsq-index  2     p      STARTED    0  208b 192.168.1.7 esdb-node-3
xsq-index  2     r      STARTED    0  208b 192.168.1.7 esdb-node-1
xsq-index  1     r      STARTED    0  208b 192.168.1.7 esdb-node-2
xsq-index  1     p      STARTED    0  208b 192.168.1.7 esdb-node-1
xsq-index  0     r      STARTED    0  208b 192.168.1.7 esdb-node-3
xsq-index  0     p      STARTED    0  208b 192.168.1.7 esdb-node-2

5.总结 

(1)可以通过all_index_shards 模版设置全库所有的索引的分片规则。

(2)可以通过_template 指定匹配名称规则索引遵循分片规则。

(3)指定具体的索引遵循指定的分片规则。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值