我正在运行一台8核、32G RAM的elasticsearch节点,拥有5个分片和4亿(小型)文档。
所有东西工作得很好,直到我运行一个聚合搜索,然后分片出现故障:
java.lang.OutOfMemoryError: Java heap space
我已经使用以下命令更改了堆大小:
export ES_HEAP_SIZE=16g
(同时将ES_MAX_MEM
和ES_MIN_MEM
设置为相同)
还修改了elasticsearch的yml
文件:
bootstrap.mlockall: true
甚至(安装文档推荐):
sudo sysctl -w vm.max_map_count=262144
重新启动服务后仍然没有改善,仍然会出现 java.lang.OutOfMemoryError: Java heap space
错误。
除了不运行聚合查询之外,还有其他建议吗?
查询是:
https://localhost:9200/my_index_name/_search?search_type=count
{
"aggs": {
"distinct_hostname": {
"cardinality": {
"field": "hostname"
}
}
}
}