博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch split index 拆分索引
阅读量:4325 次
发布时间:2019-06-06

本文共 1057 字,大约阅读时间需要 3 分钟。

1.将索引的分片数拆分成多个。

_split API要求必须使用特定的number_of_routing_shards创建源索引,以便将来进行分割。在Elasticsearch 7.0中已经删除了这一要求。

索引可以拆分多次,但拆分的最大分片数是由创建索引是的number_of_routing_shards决定的。拆分后的分片数量需是number_of_routing_shards的因子,即number_of_routing_shards是拆分后分片数的倍数。

例如,原有主分片为5,number_of_routing_shards=30的索引,可以按如下几种情况拆分:

  • 5 → 10 → 30 (split by 2, then by 3)
  • 5 → 15 → 30 (split by 3, then by 2)
  • 5 → 30 (split by 6)

2.例子:

创建用于拆分的索引

PUT my_source_index{    "settings": {        "index.number_of_shards" : 1,        "index.number_of_routing_shards" : 6     }}

设置为只读

PUT /my_source_index/_settings{  "settings": {    "index.blocks.write": true   }}

拆分索引分片

POST my_source_index/_split/my_target_index{  "settings": {    "index.number_of_shards": 3  }}

3.拆分必须满足的条件:

  • 目标索引必须不存在
  • 索引的主碎片必须少于目标索引。
  • 目标索引中的主碎片数量必须是源索引中的主碎片数量的一个因子。
  • 处理拆分进程的节点必须有足够的空闲磁盘空间来容纳现有索引的第二个副本。

4._split同样支持settings和aliases参数

POST my_source_index/_split/my_target_index{  "settings": {    "index.number_of_shards": 5   },  "aliases": {    "my_search_indices": {}  }}

5.监控

参考  

 

参考资料:

转载于:https://www.cnblogs.com/libin2015/p/10655476.html

你可能感兴趣的文章
CSS选择器 < ~ +
查看>>
用VS开发PHP扩展
查看>>
万方数据知识平台 TFHpple +Xpath解析
查看>>
Hive实现oracle的Minus函数
查看>>
秒杀多线程第四篇 一个经典的多线程同步问题
查看>>
RocketMQ配置
查看>>
vs code调试console程序报错--preLaunchTask“build”
查看>>
蚂蚁金服井贤栋:用技术联手金融机构,形成服务小微的生态合力
查看>>
手机通话记录统计分析
查看>>
富文本编辑器比较
查看>>
端口号大全
查看>>
在oracle 12c上如何禁用haip,以及打开haip,以及对haip的理解
查看>>
实验七——Web应用测试(bookstore项目上完成)
查看>>
环信即时通讯在工程中的安装——Nusen_Liu
查看>>
bzoj千题计划141:bzoj3532: [Sdoi2014]Lis
查看>>
VScode 搭建 django 开发环境(MAC、Python3.7)
查看>>
vc2010, fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt解决办法
查看>>
通过sql脚本可以从数据库中查到数据,但是通过jdbc却获取不到
查看>>
ApiDoc 一键生成注释
查看>>
完善的IaaS云服务的个人理解
查看>>