0

我有一个单节点 ElasticSearch 集群,它有一个索引(我知道,我的错),我在其中插入了 2B 文档。

我不知道拆分索引是最佳实践,我的在崩溃之前增长到 400GB。

我尝试使用(https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html )拆分我的索引,无论我做什么,我都会不断收到java.lang.OutOfMemoryError 。我已经用尽了我的物理内存,线程刚刚卡在 _split 中。

我有一些文件在成功建立索引后通过 logstash 删除,因此重新插入数据不是一种选择。

有什么建议么?

4

2 回答 2

0

添加交换空间或增加该服务器的 RAM。

我仍然对您从哪里获得20 亿份文件感到困惑:/

于 2019-07-02T18:47:30.903 回答
0

永远不要在 ES Machines 中使用交换,

用于 https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html 检查拆分状态

您是否也更改了 ES 的 jvm 配置中的最大内存选项 -https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

于 2019-07-03T05:29:58.123 回答