3.4.1 设置系统配置
哪里配置系统设置取决于您用于安装 Elasticsearch 的软件包以及所使用的操作系统:
当使用.zip
或.tar.gz
软件包时,可以这样配置系统设置
- 暂时使用
ulimit
- 永久存在于
/etc/security/limits.conf
.
使用 RPM 或 Debian 软件包时,大多数系统设置都在 系统配置文件. 但是,系统使用 systemd 要求配置在 systemd 配置文件.
ulimit
在 Linux 系统上,ulimit
可以用于临时更改资源限制。在切换到要运行 Elasticsearch 的用户之前,通常需要将限制设置为 root
。例如,要将打开的文件句柄数(ulimit -n
)设置为 65536,你可以执行以下操作:
sudo su
ulimit -n 65535
su elasticsearch
- 成为 root。
- 更改打开文件的最大数量。
- 成为 elasticsearch 用户,以启动 Elasticsearch。
新限制仅适用于当前会话。
您可以使用ulimit -a
查询所有当前应用的限制。
/etc/security/limits.conf
在Linux系统上,可以通过编辑 /etc/security/limits.conf
文件为特定用户设置永久限制。要将elasticsearch
用户的最大打开文件数设置为 65536,请将以下行添加到limits.conf
文件中:
elasticsearch - nofile 65535
该更改仅在弹性搜索用户下次打开新会话时才生效。
注意:Ubuntu and limits.conf
对于由
init.d
启动的进程,Ubuntu忽略limits.conf
文件。要启用limits.conf
文件,请编辑/etc/pam.d/su
并取消注释以下行:
# session required pam_limits.so
系统配置文件
使用 RPM 或 Debian 软件包时,可以在系统配置文件中指定系统设置和环境变量,该文件位于:
- RPM
/etc/sysconfig/elasticsearch
- Debian
/etc/default/elasticsearch
但是,对于使用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
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。