目前es集群主要用于 日志存储查询。
版本:
es -2.3.5
logstash -2.3.4
5台 8核32G 4*5T普通磁盘, 将每天的日志按天生成的一个索引, /_cat/indices查看每天的索引大概有250G,5个分片 0副本, 每个实例jvm: -Xms20g -Xmx20g
5个实例皆为数据节点,都可以为master。
日志数据主要是来自logstash消费kafka中的日志,grok解析后插入es, 低峰期日志能够实时插入及查询, 高峰期延迟严重, kafka分区的Lag(未消费的消息)很多。
考虑过将5个实例中的2个实例不作为data node, 只是作为master负载使用,没试验过不知道效果如何?
io:
其他性能指标如何查看?
有什么方法可以提高集群的写入?
版本:
es -2.3.5
logstash -2.3.4
5台 8核32G 4*5T普通磁盘, 将每天的日志按天生成的一个索引, /_cat/indices查看每天的索引大概有250G,5个分片 0副本, 每个实例jvm: -Xms20g -Xmx20g
5个实例皆为数据节点,都可以为master。
日志数据主要是来自logstash消费kafka中的日志,grok解析后插入es, 低峰期日志能够实时插入及查询, 高峰期延迟严重, kafka分区的Lag(未消费的消息)很多。
考虑过将5个实例中的2个实例不作为data node, 只是作为master负载使用,没试验过不知道效果如何?
io:
其他性能指标如何查看?
有什么方法可以提高集群的写入?
3 个回复
rochy - rochy_he
赞同来自:
目前楼主需要分析到,是 LogStash 慢还是 ES 写入速度慢(查看写入曲线即可),然后针对性解决问题
如果 LogStash 慢可以通过多启动即可 LogStash 实例即可轻松解决
ES 慢的话,先看一下 translog、refresh_time、merge、字段 Mapping 等是否设置的合理;
此外楼主上述的数据 250G 一共 5 个分片,可以考虑设置 10 个分片,理论上写入速度会更好一些
Reilee - 在日devops
赞同来自:
另外不知道楼主的高峰期有多大流量
elasticsearch output 的配置也可能影响写入性能
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
1、版本2.3,看能否升级;
2.如果不能升级,考虑优化:机器内容和堆内存设置关系,建议Min(机器内存/2, 31GB);
3.安全起见,建议至少加一个副本,写入前副本数置为0,写入完毕后再设置新的副本数(根据业务需要);
4.修改refresh_interval值,默认1s比较快,为提升效率,可以改为30s。
5.其他通用的写入优化如楼上提及。