關於es6啟動報錯的幾點記錄
標題本文是在es6 centos環境下進行的操作
啟動時候報:
[2020-01-07T13:13:55,343][WARN ][o.e.b.JNANatives ] unable to install syscall filter:
java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
at org.elasticsearch.bootstrap.SystemCallFilter.linuxImpl(SystemCallFilter.java:341) ~[elasticsearch-6.3.1.jar:6.3.1]
at org.elasticsearch.bootstrap.JNANatives.tryInstallSystemCallFilter(JNANatives.java:258) [elasticsearch-6.3.1.jar:6.3.1]
at org.elasticsearch.bootstrap.Natives.tryInstallSystemCallFilter(Natives.java:113) [elasticsearch-6.3.1.jar:6.3.1]
表明 es 所要求的(我也不知道是什麼,有的說是es外掛的要求,當前核心滿足不了)與當前系統的核心版本不匹配,
在 es的conf/elasticsearch.yml 新增
bootstrap.system_call_filter: false
然後啟動,就啟動成功
我們檢視當前centos的發行版本
使用 rpm -q centos-release
可以看出是centos6 的發行版本,
檢視系統核心
uname -a
可以看出核心版本是2.6
標題2 若此時啟動還不成功
[1]: max number of threads [1024] for user [elk] is too low, increase to at least [4096]
這個是centos6 的最大的執行緒數是1024 的限制,但是es要求高,需要更改
修改 檔案
vim /etc/security/limits.conf
新增
- hard nofile 655360
- soft nofile 131072
- hard nproc 4096
- soft nproc unlimited
此時再啟動還是報錯,那麼就再修改
vim /etc/security/limits.d/90-nproc.conf
-
soft nproc 4096 # 注意 * 代表所有使用者
root soft nproc unlimited
然後啟動,就不會報錯了。