Elasticsearch 索引数据多了怎么办,如何调优,部署?

参考答案

“设计先行、编码在后”,索引数据的规划,要在前期就做好规划。

这样才能有效的避免突如其来的数据激增,从而导致集群处理能力不足,引发线上客户检索、或影响其他业务。

Elasticsearch 索引数据多了,我们可以从动态索引、存储、部署等方面进行调优。

1  动态索引层面

基于模板 + 时间 + rollover api 滚动创建索引。

例如:

设计阶段定义,blog 索引的模板格式为:blog_index_时间戳的形式,每天递增数据。

这样做的好处:

不至于数据量激增,导致单个索引数据量非常大,接近于上线2的 32次幂 -1 ,索引存储达到了TB+、甚至更大。

一旦单个索引很大,存储等各种风险就会随之而来,l在此要提前考虑、避免。

2  存储层面

冷热数据分离存储,热数据(例如最近3天、或者一周的数据),其余为冷数据。

对于冷数据不会再写入新数据,可以考虑定期 force_merge 加 shrink 压缩操作,节省存储空间和检索效率。

3  部署层面

一旦之前没有规划,这里就属于应急策略。

结合 ES 自身的支持动态扩展的特点,动态新增机器的方式可以缓解集群压力。

需要注意的是:

如果之前主节点等规划合理,不需要重启集群,也能完成动态新增的。

 

以上,是 Elasticsearch 搜索面试题【Elasticsearch 索引数据多了怎么办,如何调优,部署?】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧