ES分片

分片:Shard

1.分片的基本概念

分片可以理解为索引的碎片,并且所有碎片都是可以无限复制的

2.分片的种类 

主分片(primary shard)

副分片(replica shard)

3.分片的作用和意义

高可用性:提高分布式服务的高可用性。

提高性能:提供系统服务的吞吐量和并发响应的能力。

易扩展性:当集群的性能不满足业务要求时,可以方便快速扩容集群,而无需停止服务。

4.分片的基本策略

1.一个索引包含一个或多个分片,在7.0之前默认五个主分片,每个主分片一个副本;在7.0之后默认一个主分片。副本可以在索引创建之后修改数量,但是主分片的数量一旦确定不可修改,只能创建索引。

2.每个分片都是一个Lucene实例,有完整的创建索引和处理请求的能力。

3.es会自动再Nodes上做分片均衡shard reblance。

4.一个doc不可能同时存在于多个主分片中,但是当每个主分片的副本数量不为一时,可以同时存在多个副本中。

5.主分片和副本分片不能同时存在于同一个节点上。

6.完全相同的副本不能同时存在于同一个节点上。

1
2
3
4
5
6
7
8
#查看索引的详细信息
GET _cluster/allocation/explain
GET _cluster/allocation/explain
{
"index": "new_tykh_econtract_web2023-01-27",
"shard": 0,
"primary": false
}#对外分片的索引进行分片$ curl --user xxxx:xxxx -X POST "localhost:9200/_cluster/reroute?retry_failed=true"#查询前几条索引数据curl -XGET "http://ip:9200/_search?size=1"

5.索引的组成

复制代码
索引的组成
GET tykh_wechat_wx_web_1992023-01-26
"aliases" : { },  #索引的别名
"mappings" : {    #索引的映射
"settings" : {    #索引的设置

#修改索引的settings

PUT 索引名/_settings
{
  "number_of_shards" : "2",
  "number_of_replicas" : "1"
}

复制代码

 

posted @   逆风飞翔的博客  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示