不为失败找理由,要为成功找方法。

关于如何根据数据量来规划集群规模?

Elasticsearch | 作者 wssmao | 发布于2019年05月07日 | 阅读数:2400

问题1:
如果我最大需要存储10TB数据量,并且需要从业务角度,提前拆分多个索引。
考虑到每个分片大小控制在30GB以内,我应该如何规划集群规模?
比如,多少节点?多少索引?多少分片? 多少副本?
 
问题2:
之前一直使用的3节点集群,默认5分片1副本,节点角色也是默认的。
查了下,大集群的情况下,建议master和data角色区分开设置。这块对于20个节点以内的集群规模,有什么好的设置建议?
 
已邀请:

rochy - rochy_he

赞同来自: wssmao ljfphp

10TB 数据量,考虑单个副本就是需要至少 20T 的磁盘空间;所以你可以根据你机器的配置来粗略计算节点数;
单个分片推荐的大小是 30G~50G,但是也可以设置的更大,按照 50G 计算你需要的分片数为 200,带上副本是 400-500 个;
对于数据,推荐按照日期来进行索引切分,然后按照时间切分周期计算数据量,从而计算单个索引的分片数。
对于节点,推荐是主节点和数据节点分离,主节点配置一般低于数据节点;
主节点推荐 3 台,上述的数据量,数据节点推荐 5 ~ 10 台;
如果查询需求较高,可以考虑增加 1~3 台协调节点。

要回复问题请先登录注册