用了Elasticsearch,一口气上5T

关于ElasticSearch7版本搭建集群数据存储节点数据一致性的疑问

Elasticsearch | 作者 qwe857359351 | 发布于2020年10月16日 | 阅读数:2380

版本:ElasticSearch7.6.2
场景:数据量不大,一年大概1.5亿数据量,存储TPS大概200,查询TPS大概150。
现在搭建集群,有三台ES服务器,只有一台master,不存储数据,另外两个子节点做存储和搜索。
疑问:
1、假如其中一个子节点挂了,再重新启动,会造成两个子节点数据不一致吗?因为要求数据不能有丢失。
2、这么搭建集群是否合理?如果不合理有哪些需要调整?
3、按照数据量增长情况,这样一个ES集群能否扛住,分片设置多少合理?
已邀请:
匿名用户

匿名用户

赞同来自:

生产环境肯定是不合理的
 
master最少3台
 
data节点挂掉,重启也没事,自动恢复数据。
 
1年才1.5亿数据,数据量真的是太少了。
 
data节点的数量 需要根据业务来分析的,你的索引设计的是单一索引,还是按照天的索引?
 
如果是单一索引,最开始的分片数量需要定足够大(极限)
如果是按照天的索引,最开始分片数可以小,以后逐渐增大到(极限)
 
极限的意思是最大data节点的数量(或者2倍,但不建议2倍),而最大data节点也是有极限的(最好是20台,最好不要超过30台)
 
那么这样的话,主分片的个数最大就是20个(或者40个,但不建议),30个(或者60个,但不建议)
 
所以综上所述:单索引主分片的个数是有极限的。
 
全是个人理解和生产环境得出的个人结论,不代表其他人。如果有误,请理解。
 
 
 

zakokun - 后端开发

赞同来自:

1.5E数据量很小,不用额外考虑。

如果只有3台服务器,可以通过一台机器跑2个es服务的形式做成 3 master + 3 data 的方式

分片数量简单来说就是不超过data node数量。按照我说的做的话,分片设置为3就可以了

要回复问题请先登录注册