web-dev-qa-db-ja.com

Elasticsearch OutOfMemoryError Javaヒープスペース

8コア、32g RAM 5シャード、4億(小)ドキュメントのelasticsearchノード)を実行しています。

Agg検索を実行するまですべてがうまく機能し、その後シャードが失敗し始めます:

_Java.lang.OutOfMemoryError: Java heap space
_

ヒープサイズの変更 with:_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_

他の提案はありますか? aggクエリを実行しないこと以外は?

クエリは次のとおりです。

_https://localhost:9200/my_index_name/_search?search_type=count
{
  "aggs": {
    "distinct_hostname": {
      "cardinality": {
        "field": "hostname"
      }
    }
  }
}
_
23
B.P

私はエラーを発見したと思います。 elasticsearchの実行に「サービス」を使用していたため、環境変数が削除されました。 /etc/default/elasticsearchファイルを正しいenv変数(具体的にはES_HEAP_SIZE=16g)で更新する必要がありました。

これまでのところ、それはうまく実行されており、アプリはエラーではありません。

19
B.P