ES报错:[親] データが大きすぎます。[<http_request>] のデータは XXXX の制限を超えます。

es で次のエラーが発生すると: [parent] データが大きすぎます。[<http_request>] のデータは制限値 [23941899878/22.2gb] を超えます ({ bytes_wanted=23941987633 bytes_limit=23941899878 })


通常の理由は、フィールドデータのメモリが占​​有されており、他のインデックスがそれ以上のメモリを割り当てることができないことです。

さらに、クエリ ステートメントが適切に記述されていない場合、1 つのリクエストで大量のデータが集約およびクエリされるため、大量のメモリが占​​有され、1 つのリクエストで OOM が発生します。したがって、統計を作成するときは、集計バケットの数を制限しないように注意してください。

解決する:

kibana で次の 2 つのコマンドを実行します。

#メモリ使用率を制限します。 indices.fielddata.cache.size: 20%。制限を超えると、メモリ内の既存のフィールドデータ データがクリアされます。

#デフォルトは無制限で、メモリ使用量が制限されますが、頻繁なエビクトとリロード、大量のIOパフォーマンス損失、メモリの断片化とGCが発生します。

PUT _cluster/settings
{  
	"persistent": {    
		"indices.breaker.fielddata.limit": "30%"   
	}
}

#清理集群所有使用内存缓存
POST /_cache/clear

kibanaが入れない場合は以下のcurlを実行してください

注: 口座番号、パスワード

#限定内存使用百分比 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"

この時点で、問題は基本的に解決されました。

おすすめ

転載: blog.csdn.net/m0_71867302/article/details/131520964