目标
今天公司下来了一个需求,想要用ElasticSearch搜索来存储我们设备端服务器上的日志,提供了一个未来预期想要存取的日志规模,让我做一个预估以及规划,向运维中心申请机器来保证日后业务的扩展.
需求
有十万台服务器,每台机器每秒平均会产生2条日志,需要保存30天的日志信息,根据调研,平均每条日志的大小为400字节,也就是说.
100000 x 2 (每秒平均2条) x 3600 (小时) x 24 (一天) x 30 (一个月) = 518,400,000,000 条日志
518,400,000,000 x 0.4 (约为0.4KB) / 1024(MB) /1024(GB) / 1024(TB) = 193TB 需要的空间大小
193TB / 2T(ES默认单节点大小 推荐2T 最大5T) ≈ 97 台节点
结论
当然实际上肯定至少得预留到100台左右,97台是根据2T的内存预留的,因为涉及到集群管理,我们肯定还有master选取节点来保证一个单数,防止脑裂情况的出现,至于具体的分片分配策略,以及冷热集群我们在之后实现的时候再进行具体说明 ~