es集群节点数和分片数关系_elasticsearch 分片(Shards)的理解

elasticsearch 中分片(Shards)非常非常重要,直接和性能挂钩。以下仅为个人实际使用 elasticsearch 4年的理解,可能存在误解,一切以官方文档为准。

分片重要性

Es中所有数据均衡的存储在集群中各个节点的分片中,会影响ES的性能、安全和稳定性, 所以很有必要了解一下它。

分片是什么?

简单来讲就是咱们在ES中所有数据的文件块。 实列场景:

咱们设置了索引A有2个分片,我们向索引A中插入10条数据,那么这10条数据分为5条存储在第一个分片,剩下的5条会存储在另一个分片中。

和主流关系型数据库的表分区的概念有点类似,如果你比较熟悉关系型数据库的话。

分片的设置

创建Mapping的设置(curl) PUT indexName { "settings": { "number_of_shards": 5 } } 注意

1、默认索引是5个分片

2、分片一定设置是不可以修改的,只能新建新索引解决

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

分片个数是越多越好还是越少越好了?这个问题是根据数据量决定的,正确来说是根据数据入Es后文件大小决定的。 实列场景:

如果索引A总文件大小是300G,改怎么定制方案了?

建议:(仅参考)

1、保证每一个分片数据大小在30GB左右

2、每一个节点最多存放一个分片

3、节点数大于等于分片数

根据建议,至少需要十个分片。

结果: 建10个数据节点,Mapping 指定分片数为 10,满足每一个节点一个

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值