我有一个单节点ElasticSearch集群,该集群在插入2B文档的位置有一个索引(我知道,我很糟糕)。
我不知道这是拆分索引的最佳实践,而在崩溃之前我的磁盘已扩展到400GB。
我尝试使用(https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html)拆分索引,无论我做什么,都会不断收到 java.lang.OutOfMemoryError 。我已经用尽了我的物理内存,并且线程只是卡在_split中。
我有一些文件在成功建立索引后已通过logstash删除,因此无法重新插入数据。
有什么建议吗?
答案 0 :(得分:0)
添加交换空间或增加该服务器的RAM。
对于您获得20亿个文档的地方,我仍然感到困惑:/
答案 1 :(得分:0)
切勿在ES Machines中使用交换,
使用https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html
检查拆分状态
您还更改了ES的jvm config中的最大内存选项-https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html