es动态分配分片_ES-Commands

本文档整理了Elasticsearch中关于动态调整分片、索引扩容、缩容以及数据迁移的相关命令和注意事项。包括如何进行索引缩容、扩容,如何使用Reindex API进行数据迁移,以及索引分片的延迟分配和元数据耗时记录。还涵盖了分片分配权重、单机多实例的配置以及查询特定分片的方法。
摘要由CSDN通过智能技术生成

说明

对一些常用的或在官网文档中不易找到的 ES 命令,做个简单整理,方便查找,想起时再做更新和维护。

Ps:大多命令为基于 5.4.2 版本 ES 集群。

Commands

索引缩容(减少主分片数)

es-5.4 官方文档 : https://www.elastic.co/guide/en/elasticsearch/reference/5.4/indices-shrink-index.html

首先,修改原索引 test 设置 : 索引设为只读状态;

PUT /test/_settings

{

"settings": {

"index.blocks.write": true

}

}

然后,创建目标索引 shrink_test , 并设置目标索引 shrink_test 的分片数和副本数;

目标索引 shrink_test 的分片数必须比原索引 test 的分片数小,且收缩后的分片数必须是原始分片数的一个因数:

如 原8个分片可收缩为 4、2、1,原分片数为素数(如7,11)则只能收缩为 1 个分片。

POST test/_shrink/shrink_test

{

"settings": {

"index.number_of_replicas": 1,

"index.number_of_shards": 1,

"index.codec": "best_compression"

},

"aliases": {

"test_alias": {}

}

}

执行命令后,可通过查看集群状态,判断索引是否已缩容结束,若成功缩容结束,原索引 test 仍存在且处于只读状态,可删除原索引。

索引扩容(增加主分片数)

注:

​ ES 5.x 版本索引不支持增加主分片数,除非通过 Reindex API 的方式重建索引;

​ ES 6.x 版本起,索引可支持增加主分片数,但有限制:不支持增量重新分片,本例子以 ES 6.7.2 版本为例。

Indices APIs » Split Index

es-6.7 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/6.7/indices-split-index.html

说明

1、动态扩容分片,在索引创建时必须指定 index.number_of_routing_shards 参数,已创建好的索引,更新 settings 增加 routing_shards 参数或更新 routing_shards 参数,均无法动态扩容分片(即 es 不支持增量重新分片);

2、动态扩容分片时,必须将源索引阻塞写操作,扩容结束才能写

​ 目的:防止 split 过程中出现问题,导致数据丢失

3、可以拆分索引的次数(以及每个原始分片可以拆分成的分片数)由 index.number_of_routi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值