一直在用centos6,ES也安装过n屡次了。此次公司新加了3台Ubuntu16.04的机器,做为ES的master节点。
直接从官网下载了5.6分支最新的DEB包,安装完成,而后执行systemctl start elasticsearch.service,
以后问题就来了,报错:html
[1] bootstrap checks failed [1]: memory locking requested for elasticsearch process but memory is not locked
很清晰么,要么是bootstrap.memory_lock: true这个没设置,要么就是max locked memory这个没配置么。
而后根据以往经验,打卡/etc/security/limits.conf。哐哐哐一顿修改:bootstrap
* soft nofile 65536 * hard nofile 65536 * soft nproc 32000 * hard nproc 32000 * hard memlock unlimited * soft memlock unlimited
以后重启,仍是报上面的错误。觉得没配好,以后又改了n次。仍是不行。
而后查资料,果真,配置文件不同了。。
limits.conf这里的配置,只适用于经过PAM认证登陆用户的资源限制,它对systemd的service的资源限制不生效。登陆用户的限制,经过 /etc/security/limits.conf 来配置
对于systemd service的资源限制,如今放在 /etc/systemd/system.conf 和 /etc/systemd/user.conf
这两个文件里面了。
主要就是/etc/systemd/system.conf这个文件centos
[Manager] #LogLevel=info #LogTarget=journal-or-kmsg #LogColor=yes #LogLocation=no #DumpCore=yes #ShowStatus=yes #CrashChangeVT=no #CrashShell=no #CrashReboot=no #CPUAffinity=1 2 #JoinControllers=cpu,cpuacct net_cls,net_prio #RuntimeWatchdogSec=0 #ShutdownWatchdogSec=10min #CapabilityBoundingSet= #SystemCallArchitectures= #TimerSlackNSec= #DefaultTimerAccuracySec=1min #DefaultStandardOutput=journal #DefaultStandardError=inherit #DefaultTimeoutStartSec=90s #DefaultTimeoutStopSec=90s #DefaultRestartSec=100ms #DefaultStartLimitInterval=10s #DefaultStartLimitBurst=5 #DefaultEnvironment= #DefaultCPUAccounting=no #DefaultBlockIOAccounting=no #DefaultMemoryAccounting=no #DefaultTasksAccounting=no #DefaultTasksMax= #DefaultLimitCPU= #DefaultLimitFSIZE= #DefaultLimitDATA= #DefaultLimitSTACK= #DefaultLimitCORE= #DefaultLimitRSS= #DefaultLimitNOFILE= #DefaultLimitAS= #DefaultLimitNPROC= #DefaultLimitMEMLOCK= #DefaultLimitLOCKS= #DefaultLimitSIGPENDING= #DefaultLimitMSGQUEUE= #DefaultLimitNICE= #DefaultLimitRTPRIO= #DefaultLimitRTTIME=
而后修改下面几项:elasticsearch
DefaultLimitNOFILE=65536 DefaultLimitNPROC=32000 DefaultLimitMEMLOCK=infinity
以后继续操做:ide
/bin/systemctl daemon-reload /bin/systemctl enable elasticsearch.service systemctl start elasticsearch.service systemctl status elasticsearch.service
到此,搞定。ui
后来centos又遇到这个问题了。
https://www.elastic.co/guide/...code