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

面试官想了解大数据量的运维能力

解答索引数据的规划应在前期做好规划正所谓设计先行编码在后”,

这样才能有效的避免突如其来的数据激增导致集群处理能力不足引发的线上客户 

检索或者其他业务受到影响

如何调优正如问题 1 所说这里细化一下

3.1 动态索引层面 

基于模板+时间+rollover api 滚动创建索引举例设计阶段定义:blog  

引的模板格式为:blog_index_时间戳的形式每天递增数据

这样做的好处不至于数据量激增导致单个索引数据量非常大接近于上线 2  

32 次幂-1,索引存储达到了 TB+甚至更大

一旦单个索引很大存储等各种风险也随之而来所以要提前考虑+及早避免

3.2 存储层面 

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

对于冷数据不会再写入新数据可以考虑定期 force_merge  shrink 压缩操作

节省存储空间和检索效率

3.3 部署层面 

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

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

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

相关推荐