記錄一次Ubuntu16.04上安裝Elasticsearch踩的坑,memory lock問題

一直在用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

相關文章
相關標籤/搜索