Elasticsearch关键术语 系列博文 目的只用来了解概念 ; 其中 涉及到的配置和使用 是为了方便日后使用时查询的
Shard 分片
分类
primary shard 主分片
作用
通过主分片 将数据分布到集群的所有节点 – 效果 : 数据水平扩展
本质
一个主分片是一个运行的Lucene实例
配置主分片数
-
默认
- ES7.0前
- 一个索引 主分片5 副本1
- 7.0及以后
- 主分片1 副本1 – 效果 : 解决over-sharding问题
- ES7.0前
-
配置时机
- 创建索引时预先指定 (后续不允许修改 除非Reindex)
-
配置建议
-
分片数设置过小
- 导致后续无法增加节点实现水平扩展
示例 : 集群3个节点 主分片数设置3 副本1 一个index的数据分散存入3个分片 分别在3个节点上 ; 此时 如果集群增加1个节点 这个index的数据依然还在3个分片上 一共还是落到3个节点上 永远相当于空余1个节点不能存储数据 达不到水平扩展的效果
-
分片数设置过大
- 影响搜索结果的相关性打分 影响统计结果的准确性
- 单个节点分片过多 资源浪费 并影响性能
-
replica shard 副本分片
作用
是主分片的拷贝 – 效果 : 数据高可用/服务高可用(提高读取吞吐量)
配置副本分片数
可动态调整
参考
阮一名资料
官方文档
百度