Tôi đang chạy một 8 lõi, 32g RAM elasticsearch node với 5 mảnh, 400 triệu (nhỏ) tài liệu.Elasticsearch OutOfMemoryError không gian heap Java
Tất cả mọi thứ hoạt động tốt cho đến khi tôi chạy một tìm kiếm agg, sau đó mảnh bắt đầu thất bại với:
java.lang.OutOfMemoryError: Java heap space
Tôi có changed heap size với: export ES_HEAP_SIZE=16g
(còn ES_MAX_MEM
và ES_MIN_MEM
với cùng)
cũng đã thay đổi yml
tệp cho elasticsearch:
bootstrap.mlockall: true
và thậm chí (khuyến cáo của cài đặt tài liệu): dịch vụ Restart
sudo sysctl -w vm.max_map_count=262144
và vẫn không có tác động, vẫn java.lang.OutOfMemoryError: Java heap space
Bất kỳ lời đề nghị khác? khác hơn là không chạy truy vấn cấp cao?
truy vấn là:
https://localhost:9200/my_index_name/_search?search_type=count
{
"aggs": {
"distinct_hostname": {
"cardinality": {
"field": "hostname"
}
}
}
}
Bạn đang chạy phiên bản nào? Bạn đang chạy truy vấn tổng hợp nào? Có thể giới hạn số lượng tài liệu để đưa vào kết quả tổng hợp với bộ lọc không? –
Phiên bản: 1.1.1, Xây dựng: f1585f0, JVM: 1.7.0_72 –
Truy vấn tổng hợp nằm trên một trường tồn tại trong mỗi tài liệu. Truy vấn là một nỗ lực để đếm các trường hợp duy nhất của nội dung của trường này. Hạn chế những gì nó được chạy trên sẽ làm lệch kết quả. Tôi không dự đoán chạy truy vấn này thường xuyên và sẽ không bận tâm nếu nó chạy chậm. Nhưng khi một mảnh vỡ không thành công, tôi nhận được kết quả không phù hợp. –