Quando es recebe este erro: [parent] Data too large, data for [<http_request>] seria maior que o limite de [23941899878/22.2gb], com { bytes_wanted=23941987633 bytes_limit=23941899878 }
O motivo usual é que a memória dos dados de campo está ocupada e outros índices não podem alocar mais memória.
Além disso, se a instrução de consulta não for bem escrita, muitos dados serão agregados e consultados em uma única solicitação, o que também ocupará muita memória, e uma solicitação causará OOM. Portanto, tome cuidado para não limitar o número de grupos de agregação ao fazer estatísticas.
resolver:
Execute estes dois comandos no kibana:
#Limite a porcentagem de uso de memória indices.fielddata.cache.size: 20%.Se o limite for excedido, os dados de fielddata existentes na memória serão apagados.
#O padrão é ilimitado, o que limita o uso de memória, mas causará despejo e recarga frequentes, muita perda de desempenho de IO, bem como fragmentação de memória e gc
PUT _cluster/settings
{
"persistent": {
"indices.breaker.fielddata.limit": "30%"
}
}
#清理集群所有使用内存缓存
POST /_cache/clear
Se o kibana não puder entrar, execute o seguinte curl
Nota: número da conta, senha
#限定内存使用百分比 indices.fielddata.cache.size: 20%,超出限制,清除内存已有fielddata数据。
curl -u 账号:密码 -XPUT "http://localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'{ "persistent": { "indices.breaker.fielddata.limit": "20%" }}'
#清理集群所有使用内存缓存
curl -u 账号:密码 -XPOST "http://localhost:9200/_cache/clear"
Neste ponto, o problema está basicamente resolvido! !