Elasticsearch OutOfMemoryError Java堆空间
发表于:2022-06-16 |
我正在运行一个8核,32g RAM弹性搜索节点,5个碎片,4亿个(小)文件。 一切都运行良好,直到我运行防攻击搜索,然后碎片开始失败与: java.lang.OutOfMemoryError: Java heap space 我已经改变了堆大小: 导出ES_HEAP_SIZE = 16g(也可以将ES_MAX_MEM和ES_MIN_MEM相同) 也改变了弹性搜索的yml文件: bootstrap.
相关专题:ElasticSearch
我正在运行一个8核,32g RAM弹性搜索节点,5个碎片,4亿个(小)文件。
一切都运行良好,直到我运行防攻击搜索,然后碎片开始失败与:

java.lang.OutOfMemoryError: Java heap space
我已经改变了堆大小:

导出ES_HEAP_SIZE = 16g(也可以将ES_MAX_MEM和ES_MIN_MEM相同)

也改变了弹性搜索的yml文件:

bootstrap.mlockall: true
甚至(安装文件推荐):

sudo sysctl -w vm.max_map_count=262144
重启服务依然没有没有影响,还是java.lang.OutOfMemoryError:Java堆空间

任何其他建议?除了不运行查询?

查询是:

https://localhost:9200/my_index_name/_search?search_type=count
{
  "aggs": {
    "distinct_hostname": {
      "cardinality": {
        "field": "hostname"
      }
    }
  }
}
我想我发现了错误。我使用’服务’来运行弹性搜索,因此我的环境变量被剥离了。我必须使用相应的env变量(特别是ES_HEAP_SIZE = 16g)更新/ etc / default / elasticsearch文件。
到目前为止,它运行良好,应用程序不会出错。
上一篇:
多主机多节点docker-compose部署elasticsearch集群
下一篇:
Linux修改文件句柄数及vm.max_map_count、stack size