システム設定の構成

システム設定を構成する場所は、Elasticsearchをインストールするために使用したパッケージと、使用しているオペレーティングシステムによって異なります。

.zip または .tar.gz パッケージを使用している場合、システム設定は次のように構成できます:

RPMまたはDebianパッケージを使用している場合、ほとんどのシステム設定は システム構成ファイル に設定されます。ただし、systemdを使用するシステムでは、システム制限を systemd構成ファイル に指定する必要があります。

ulimit

Linuxシステムでは、ulimit を使用してリソース制限を一時的に変更できます。制限は通常、Elasticsearchを実行するユーザーに切り替える前に root として設定する必要があります。たとえば、オープンファイルハンドルの数(ulimit -n)を65,535に設定するには、次のようにします:

  1. sudo su
  2. ulimit -n 65535
  3. su elasticsearch
root になります。
オープンファイルの最大数を変更します。
Elasticsearchを起動するためにelasticsearchユーザーになります。

新しい制限は、現在のセッション中のみ適用されます。

現在適用されているすべての制限をulimit -aで確認できます。

/etc/security/limits.conf

Linuxシステムでは、/etc/security/limits.confファイルを編集することで特定のユーザーに対して永続的な制限を設定できます。elasticsearchユーザーのオープンファイルの最大数を65,535に設定するには、limits.confファイルに次の行を追加します:

  1. elasticsearch - nofile 65535

この変更は、elasticsearchユーザーが新しいセッションを開く次回にのみ有効になります。

Ubuntuとlimits.conf

Ubuntuは、limits.confファイルをinit.dによって開始されたプロセスに対して無視します。limits.confファイルを有効にするには、/etc/pam.d/suを編集し、次の行のコメントを解除します:

  1. # session required pam_limits.so

Sysconfigファイル

RPMまたはDebianパッケージを使用する場合、環境変数は次の場所にあるシステム構成ファイルに指定できます:

RPM /etc/sysconfig/elasticsearch
Debian /etc/default/elasticsearch

ただし、システム制限は systemd を介して指定する必要があります。

Systemd構成

RPMまたはDebianパッケージを使用しているシステムで systemd を使用する場合、システム制限はsystemdを介して指定する必要があります。

systemdサービスファイル(/usr/lib/systemd/system/elasticsearch.service)には、デフォルトで適用される制限が含まれています。

これを上書きするには、/etc/systemd/system/elasticsearch.service.d/override.confという名前のファイルを追加します(または、sudo systemctl edit elasticsearchを実行して、デフォルトのエディタ内でファイルを自動的に開くことができます)。このファイルに変更を設定します。たとえば:

  1. [Service]
  2. LimitMEMLOCK=infinity

完了したら、次のコマンドを実行してユニットを再読み込みします:

sh sudo systemctl daemon-reload@