ES作用:
ES服务器配置:
现象:
问题:
- 目前项目中用ES,td-agent收集log
ES服务器配置:
- java版本11
- ES服务器 2台
- 版本6.6.2
- disk es_1:1T es_2:500G
- memory:32G,分配给es 16G
- CPU: 8核非高速
现象:
- 每个index {"number_of_shards": 1, "number_of_replicas": 0}
- 目标服务器有500台,每台上至少会生成2个index,分别是服务的log和system log,统计过每天的数据量,每天都会在ES服务器上增加150G-200G的数据,现在保存23天的数据后,大概有20000个index,并且es_2的磁盘容量就会达到85%-90%,停止分配到这个节点,es_01的负荷会非常高,down了很多次了,然后每次恢复都要回复接近10000个index,耗时非常多,太痛苦了。
问题:
- 请问在这种情况下,要几台ES服务器才能稳定收集并保存30天的数据
5 个回复
shick
赞同来自: hide
locatelli
赞同来自: hide
一是磁盘容量。这个比较好算,日均数据量x30天,然后再考虑disk watermark。另外目前没有replica,所以一旦丢失节点数据就没有了。如果增加replica的话要考虑相应的容量。
二是shard数量 - 即使是1 primary/0 replica配置,20000个index也有20000个shard,这对于2节点集群来说超出推荐值太多,有很大的稳定性风险。另外版本6也是一个问题 - 最新的版本可以让单节点容纳更多数据。
tongchuan1992 - 学无止境、学以致用
赞同来自: hide
Charele - Cisco4321
赞同来自:
越多越好。
Ombres
赞同来自:
看你的提问,仅说磁盘存储不足导致数据分配停止,那么反过来的意思就是搜索性能没有问题对吗?如果是这种情况,按照你们的数据量200G*30=6t,我建议评估总共需要的存储,直接加硬盘就行。