Elasticsearch 入门到精通-ElasticSearch技术原理之分片(一)

本文深入探讨了Elasticsearch中的分片概念,包括主分片和副本分片,以及如何通过设置`number_of_shards`和`number_of_replicas`来管理分片数量。建议每个分片数据量保持在30GB-50GB之间,并根据数据量和增长趋势合理分配分片和节点。过度分片可能导致性能下降和资源浪费,应谨慎设定。此外,还介绍了不同类型的分片查询策略,如`_local`、`_primary`等,以优化查询效率。

1、分片是什么?

简单来讲就是咱们在ES中所有数据的文件块,也是数据的最小单元块,整个ES集群的核心就是对所有分片的分布、索引、负载、路由等操作

分片可以是主分片(primary shard)或者是副本分片(replica shard)

  • number_of_shards
    每个索引的主分片数,默认值是 5 。这个配置在索引创建后不能修改。
  • number_of_replicas
    每个主分片的副本数,默认值是 1 。对于活动的索引库,这个配置可以随时修改。

例子:如创建一个 blogs 的索引,五个主分片,一个副本分片

创建 IndexName 索引时候,在 Mapping 中可以如下设置分片 (curl)

PUT blogs
{
    "settings": {
        "number_of_shards":5,
        "number_of_replicas": 1
    }
}

注意

索引建立后,分片个数是不可以更改的



2、分片个数(数据节点计算)

分片个数是越多越好,还是越少越好了?根据整个索引的数据量来判断。

实列场景:

如果 blogs 所有数据文件大小是300G,改怎么定制方案了?(可以通过Head插件来查看)

建议:(仅参考)

   1、每一个分片数据文件小于30GB - 50GB 之间

   2、每一个索引中的一个分片对应一个节点

   3、节点数大于等于分片数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值