ファイルディスクリプタ

これはLinuxおよびmacOSにのみ関連しており、WindowsでElasticsearchを実行している場合は安全に無視できます。Windowsでは、そのJVMは利用可能なリソースによって制限されたhttps://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85を使用します。

Elasticsearchは多くのファイルディスクリプタまたはファイルハンドルを使用します。ファイルディスクリプタが不足すると、災害的な結果を招く可能性があり、データ損失につながる可能性が高いです。Elasticsearchを実行しているユーザーのオープンファイルディスクリプタの制限を65,535以上に増やすことを確認してください。

.zipおよび.tar.gzパッケージの場合、Elasticsearchを開始する前に、ルートとしてulimit -n 65535を設定するか、[nofile]を[65535]に設定してください/etc/security/limits.conf

macOSでは、JVMオプション[-XX:-MaxFDLimit]をElasticsearchに渡す必要があります。これにより、より高いファイルディスクリプタ制限を利用できます。

RPMおよびDebianパッケージは、すでにファイルディスクリプタの最大数を65535にデフォルト設定しており、追加の構成は必要ありません。

[max_file_descriptors]が各ノードに対して設定されているかどうかは、ノード統計APIを使用して確認できます。

Python

  1. resp = client.nodes.stats(
  2. metric="process",
  3. filter_path="**.max_file_descriptors",
  4. )
  5. print(resp)

Ruby

  1. response = client.nodes.stats(
  2. metric: 'process',
  3. filter_path: '**.max_file_descriptors'
  4. )
  5. puts response

Js

  1. const response = await client.nodes.stats({
  2. metric: "process",
  3. filter_path: "**.max_file_descriptors",
  4. });
  5. console.log(response);

コンソール

  1. GET _nodes/stats/process?filter_path=**.max_file_descriptors