ES: 5.62
索引数: 2400+
分片数: 6W+
索引都 比较大,所以按天划分。每天凌晨会进行新索引创建,今天发现创建索引put-mapping超时,pending_task堆积好几万,导致集群不太稳定,开始迁移分片,后面集群都挂了。
请个这个如何优化?如果预先创建索引,是否create index、putmapping都预先做?
为何集群green后,仍然一直持续有分片在迁移呢?
索引数: 2400+
分片数: 6W+
索引都 比较大,所以按天划分。每天凌晨会进行新索引创建,今天发现创建索引put-mapping超时,pending_task堆积好几万,导致集群不太稳定,开始迁移分片,后面集群都挂了。
请个这个如何优化?如果预先创建索引,是否create index、putmapping都预先做?
为何集群green后,仍然一直持续有分片在迁移呢?
3 个回复
匿名用户
赞同来自:
分片数: 6W+
多少台数据节点?
硬件配置是多少?
元数据太多,内存不够,导致的集群变慢。
God_lockin
赞同来自:
如果不能拆集群的话,个人建议是数据按不同range合并,比如:
最近7天数据放daily索引,设置ilm8天淘汰
最近6个月数据放monthly索引,设置8个月淘汰
最近10年数据放yearly索引,设置12年淘汰
其他数据合并成5年或者10年的索引
之类之类的策略
毕竟ES会把所有索引的metadata全放内存里全集群同步,你保持太多的索引在集群里,特别是很少需要支持检索的索引相当于人为的加重了集群的负担。
当然,最好还是按不同时间做数据的迁移和淘汰,旧的数据导出到hbase甚至通过snapshot之类的方式存在oss里面,释放ES集群的压力
rebornhuang - 90后大数据工作者
赞同来自: