Q:有两个人掉到陷阱里了,死的人叫死人,活人叫什么?

es 集群规划的问题

Elasticsearch | 作者 pqy | 发布于2017年03月23日 | 阅读数:6586

大家好,请教一下集群规划的问题,十分感谢。
4.5T 25亿 doc ,单条 doc 100b 左右,旧集群每天索引 300万 doc,之后规划的新集群索引会到 600-1000万doc 每天。不超过 10 个index,最大index 目前 2T,会不断增加。
 
旧的 es 2.4 集群 
机器15台(master:true data:true) 8core 32g 内存  ssd
 
新的 es 5.2.2 集群规划 
机器30台(30台全作为data节点,master,client另配) 8core 32g 内存 ssd
 
新集群,目前这么配 35台机器,3master 2client 30 data  60 shards(大的index)1replicas
 
问题一,master 和 client 节点的机器配置怎么样合适 ,和 data 一样吗?会不会浪费(cpu 几核、memory 大小、ssd需要吗)
 
问题二,shards 、replicas 该如何分配,比如已知一个2T左右大小的索引。
 
万分感谢解惑!!
 
@medcl @kennywu76  @三斗室
 
 
已邀请:

kennywu76 - Wood

赞同来自: pqy 罗学焕

问题一
  • Master node机器配置可以比较低,3台4core的虚拟机,内存8GB就足够了,
  • Client node的配置取决于仅仅用于查询,还是说还要作为数据bulk的统一入口。如果只用于查询,配置和master node类似足够。  如果用作写入入口,那么最好也用8core, 32g内存的机器。
  • Master和client node对于磁盘IO都没有要求,无需SSD。

问题二
单个shard尽量控制在100GB以内,比如2TB左右的索引,20个shard,1 replica比较合适。 但为了避免写入热点,尽量pri+replica是data node的整数倍。 比如你有30个data node,可以考虑 15 shard + 1 replica,总共30个shard,均匀分布到每一个node。这样对于写入量大的索引,写入压力可以均匀分布在每一个data node。
 
shard划分的原则:  在满足搜索性能响应时间要求的前提下,尽量缩减数量。 

要回复问题请先登录注册