Ich triff dieses Problem auch. Dann überprüfe ich den Felddatenspeicher.
Verwendung unten Anfrage:
`GET /_stats/fielddata?fields=*`
die Ausgangsanzeige:
"logstash-2016.04.02": {
"primaries": {
"fielddata": {
"memory_size_in_bytes": 53009116,
"evictions": 0,
"fields": {
}
}
},
"total": {
"fielddata": {
"memory_size_in_bytes": 53009116,
"evictions": 0,
"fields": {
}
}
}
},
"logstash-2016.04.29": {
"primaries": {
"fielddata": {
"memory_size_in_bytes":0,
"evictions": 0,
"fields": {
}
}
},
"total": {
"fielddata": {
"memory_size_in_bytes":0,
"evictions": 0,
"fields": {
}
}
}
},
Sie können mein Indizes nennt Basis Datetime und Vertreibungen sind alles 0. Addition, 2016.04.02 Speicher sind 53.009.116 sehen, aber 2016.04.29 ist auch 0.
, so kann ich Schluss machen, müssen die alten Daten den gesamten Speicher belegen, so neue Daten, die sie verwenden kann nicht, und dann, wenn ich agg Abfrage neue Daten zu machen, erhöhen sie die CircuitBreakingException
Sie können config/Elasticsearch eingestellt. yml
es kann Daten löschen, wenn das Speicherlimit erreicht wird.
aber möglicherweise die wirkliche Lösung, die Sie Speicher in Zukunft hinzufügen sollten. Und überwachen Sie die Felddatenspeicher Verwendung ist gute Gewohnheiten.
Detail: https://www.elastic.co/guide/en/elasticsearch/guide/current/_limiting_memory_usage.html
Sie können diesen Fehler auch direkt in Chrome sehen, indem Sie die Entwicklertools öffnen, die Registerkarte "Netzwerk" auswählen und die Suchanfrage erneut ausführen. Diese Fehlermeldung wird im Feld "Response" des Ereignisses '_msearch? 'Angezeigt. Dies hilft, wenn Sie keinen direkten Zugriff auf die Serverprotokolle haben. – anothermh