システム設定の構成
システム設定を構成する場所は、Elasticsearchをインストールするために使用したパッケージと、使用しているオペレーティングシステムによって異なります。
.zip
または .tar.gz
パッケージを使用している場合、システム設定は次のように構成できます:
- 一時的に
ulimit
。 - 永続的に
/etc/security/limits.conf
。
RPMまたはDebianパッケージを使用している場合、ほとんどのシステム設定は システム構成ファイル に設定されます。ただし、systemdを使用するシステムでは、システム制限を systemd構成ファイル に指定する必要があります。
ulimit
Linuxシステムでは、ulimit
を使用してリソース制限を一時的に変更できます。制限は通常、Elasticsearchを実行するユーザーに切り替える前に root
として設定する必要があります。たとえば、オープンファイルハンドルの数(ulimit -n
)を65,535に設定するには、次のようにします:
sudo su
ulimit -n 65535
su elasticsearch
root になります。 |
|
オープンファイルの最大数を変更します。 | |
Elasticsearchを起動するためにelasticsearch ユーザーになります。 |
新しい制限は、現在のセッション中のみ適用されます。
現在適用されているすべての制限をulimit -a
で確認できます。
/etc/security/limits.conf
Linuxシステムでは、/etc/security/limits.conf
ファイルを編集することで特定のユーザーに対して永続的な制限を設定できます。elasticsearch
ユーザーのオープンファイルの最大数を65,535に設定するには、limits.conf
ファイルに次の行を追加します:
elasticsearch - nofile 65535
この変更は、elasticsearch
ユーザーが新しいセッションを開く次回にのみ有効になります。
Ubuntuとlimits.conf
Ubuntuは、limits.conf
ファイルをinit.d
によって開始されたプロセスに対して無視します。limits.conf
ファイルを有効にするには、/etc/pam.d/su
を編集し、次の行のコメントを解除します:
# 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
を実行して、デフォルトのエディタ内でファイルを自動的に開くことができます)。このファイルに変更を設定します。たとえば:
[Service]
LimitMEMLOCK=infinity
完了したら、次のコマンドを実行してユニットを再読み込みします:
sh
sudo systemctl daemon-reload
@