記一次環境變量導致的elasticsearch啟動錯誤:max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]


問題描述,elasticsearch啟動時報max file descriptors錯誤:

[hadoop@node-33 elasticsearch-5.4.0]$ bin/elasticsearch
[2017-11-10T14:14:46,268][INFO ][o.e.n.Node ] [node-3] initializing ...
[2017-11-10T14:14:46,344][INFO ][o.e.e.NodeEnvironment ] [node-3] using [1] data paths, mounts [[/ (/dev/mapper/rootvg-lvroot)]], net usable_space [245.7gb], net total_space [1.9tb], spins? [possibly], types [ext4]
[2017-11-10T14:14:46,344][INFO ][o.e.e.NodeEnvironment ] [node-3] heap size [1.9gb], compressed ordinary object pointers [true]
[2017-11-10T14:14:46,345][INFO ][o.e.n.Node ] [node-3] node name [node-3], node ID [piHlIcmsQyKuqfqiYtjyYw]
[2017-11-10T14:14:46,346][INFO ][o.e.n.Node ] [node-3] version[5.4.0], pid[25779], build[780f8c4/2017-04-28T17:43:27.229Z], OS[Linux/2.6.32-642.el6.x86_64/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_131/25.131-b11]
[2017-11-10T14:14:46,978][INFO ][o.e.p.PluginsService ] [node-3] loaded module [aggs-matrix-stats]
[2017-11-10T14:14:46,978][INFO ][o.e.p.PluginsService ] [node-3] loaded module [ingest-common]
[2017-11-10T14:14:46,978][INFO ][o.e.p.PluginsService ] [node-3] loaded module [lang-expression]
[2017-11-10T14:14:46,978][INFO ][o.e.p.PluginsService ] [node-3] loaded module [lang-groovy]
[2017-11-10T14:14:46,979][INFO ][o.e.p.PluginsService ] [node-3] loaded module [lang-mustache]
[2017-11-10T14:14:46,979][INFO ][o.e.p.PluginsService ] [node-3] loaded module [lang-painless]
[2017-11-10T14:14:46,979][INFO ][o.e.p.PluginsService ] [node-3] loaded module [percolator]
[2017-11-10T14:14:46,979][INFO ][o.e.p.PluginsService ] [node-3] loaded module [reindex]
[2017-11-10T14:14:46,979][INFO ][o.e.p.PluginsService ] [node-3] loaded module [transport-netty3]
[2017-11-10T14:14:46,979][INFO ][o.e.p.PluginsService ] [node-3] loaded module [transport-netty4]
[2017-11-10T14:14:46,980][INFO ][o.e.p.PluginsService ] [node-3] no plugins loaded
[2017-11-10T14:14:48,325][INFO ][o.e.d.DiscoveryModule ] [node-3] using discovery type [zen]
[2017-11-10T14:14:48,779][INFO ][o.e.n.Node ] [node-3] initialized
[2017-11-10T14:14:48,780][INFO ][o.e.n.Node ] [node-3] starting ...
[2017-11-10T14:14:48,957][INFO ][o.e.t.TransportService ] [node-3] publish_address {172.25.114.59:9302}, bound_addresses {172.25.114.59:9302}
[2017-11-10T14:14:48,963][INFO ][o.e.b.BootstrapChecks ] [node-3] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: bootstrap checks failed
max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2017-11-10T14:14:48,970][INFO ][o.e.n.Node ] [node-3] stopping ...
[2017-11-10T14:14:48,982][INFO ][o.e.n.Node ] [node-3] stopped
[2017-11-10T14:14:48,982][INFO ][o.e.n.Node ] [node-3] closing ...
[2017-11-10T14:14:48,990][INFO ][o.e.n.Node ] [node-3] closed

網上的解決辦法都是修改/etc/security/limits.conf文件,增加hadoop hard nofile 131072一行

vi /etc/security/limits.conf
hadoop soft nofile 65536
hadoop hard nofile 131072
hadoop soft nproc 2048
hadoop hard nproc 4096

可是,我的配置本來就已經設置成這樣了的
網上找來找去,都是修改limits.conf文件這個答案,最怕這種了,所有的人都指向同一個答案,卻不能解決自己的問題
后來突然想到是不是環境變量的問題,仔細檢查了一遍,發現一個可疑的設置

vi /etc/profile
ulimit -n 65535 

使用 ulimit -Hn 查看當前值,果然是65535,

ulimit -Hn
65535

也就是說每次更新環境變量的時候limits.conf的hard nofile 131072設置被覆蓋掉了
這就好辦了,vi /etc/profile 將 ulimit -n 65535 行注釋掉,退出重新進入當前用戶,再使用 ulimit -Hn 查看當前值,已經是131072了,設置成功!

vi /etc/profile
# ulimit -n 65535 
ulimit -Hn
131072

再去啟動elasticsearch,OK!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM