配置系统设置
编辑配置系统设置
编辑在哪里配置系统设置取决于您使用哪个软件包安装 Elasticsearch 以及您正在使用哪个操作系统。
当使用 .zip
或 .tar.gz
包时,系统设置可以通过以下方式配置:
- 使用
ulimit
临时配置。 - 在
/etc/security/limits.conf
中永久配置。
当使用 RPM 或 Debian 包时,大多数系统设置都在 系统配置文件中设置。但是,使用 systemd 的系统要求在 systemd 配置文件中指定系统限制。
ulimit
编辑在 Linux 系统上,可以使用 ulimit
临时更改资源限制。通常需要在切换到将运行 Elasticsearch 的用户之前,以 root
身份设置限制。例如,要将打开的文件句柄数(ulimit -n
)设置为 65,535,您可以执行以下操作:
新的限制仅在当前会话期间应用。
您可以使用 ulimit -a
查询所有当前应用的限制。
/etc/security/limits.conf
编辑在 Linux 系统上,可以通过编辑 /etc/security/limits.conf
文件为特定用户设置持久限制。要将 elasticsearch
用户的最大打开文件数设置为 65,535,请将以下行添加到 limits.conf
文件中:
elasticsearch - nofile 65535
此更改仅在 elasticsearch
用户下次打开新会话时生效。
Ubuntu 和 limits.conf
Ubuntu 会忽略由 init.d
启动的进程的 limits.conf
文件。要启用 limits.conf
文件,请编辑 /etc/pam.d/su
并取消注释以下行:
# session required pam_limits.so
Sysconfig 文件
编辑当使用 RPM 或 Debian 包时,可以在系统配置文件中指定环境变量,该文件位于:
RPM |
|
Debian |
|
但是,需要通过 systemd 指定系统限制。
Systemd 配置
编辑当在使用 systemd 的系统上使用 RPM 或 Debian 包时,必须通过 systemd 指定系统限制。
systemd 服务文件(/usr/lib/systemd/system/elasticsearch.service
)包含默认应用的限制。
要覆盖它们,请添加一个名为 /etc/systemd/system/elasticsearch.service.d/override.conf
的文件(或者,您可以运行 sudo systemctl edit elasticsearch
,它会在您的默认编辑器中自动打开该文件)。在此文件中设置任何更改,例如:
[Service] LimitMEMLOCK=infinity
完成后,运行以下命令以重新加载单元:
sudo systemctl daemon-reload