你不会是程序猿吧?

一个索引的2个分片达到lucene索引最大文档:2^31+1个(正常最大值是2^31个)。达到最大值后es日志一只在打印这个错误,然后重启也停不下来。

Elasticsearch | 作者 zm294349159 | 发布于2018年05月28日 | 阅读数:4158

背景:集群节点5台,高配机器,每节点256g ram,86c。历史数据大概500亿。
setting设置的是0副本,15个分片。集群刚搭的,就我一个人在初始化历史数据。开始不清楚lucene的上限。数据写了一半多后,报错。内容大概是:number of documents in the index can not exceed 2147483519。查了资料,说是lucene索引的上限。
现在要解决的问题:1.挂了两个分片,这两个分片写数据的时候先达到最大值,现在的值是2147483519(比最大值大一),head插件显示未分配。现在要把这两个分片恢复正常。
2.查看ES_HOME/logs下的日志,一直在答应这个报错信息。一天打印一百来g,5个节点加起来900g。重启了节点也停不下来。
已邀请:

zm294349159

赞同来自:

elasticsearch版本是5.4的

lz8086 - es小司机

赞同来自:

500亿数据 15shard  平均每个shard30亿+,可以考虑分索引或者添加shard了,同时也要注意shard size也不要太大。
那现在索引应该停止写入了?针对目前情况提个小建议,将超过文档限制的两个shard删除几条文档或者更粗暴点直接对该索引删除几十几百条数据,这样shard文档数目就会控制在临界值之下了,看看能否解决当前持续报错导致日志堆积问题和shard恢复正常。

要回复问题请先登录注册