ElasticSearch无法启动:需要配置SECCOMP和配置SECCOMP过滤器

xzv2uavs  于 2023-01-08  发布在  ElasticSearch
关注(0)|答案(1)|浏览(335)

我尝试启动Elasticsearch但失败了。我检查了日志并得到以下错误:

[...][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:342) ~[elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.SystemCallFilter.init(SystemCallFilter.java:617) ~[elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.JNANatives.tryInstallSystemCallFilter(JNANatives.java:258) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.Natives.tryInstallSystemCallFilter(Natives.java:113) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:111) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.9.jar:5.6.9]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.9.jar:5.6.9]

为什么会这样呢?
我该怎么办呢?

zbsbpyhn

zbsbpyhn1#

出现此错误的原因是因为您没有在 elasticsearch.yml 中设置以下参数

bootstrap.system_call_filter: false

这意味着您知道seccomp安全功能处于脱机状态。
这就引出了另一个问题...
如果SecComp功能处于离线状态,我是否可以使用Elasticsearch安全功能?
我一直在寻找答案,直到我从Elasticsearch自己那里得到了一个答案:
禁用 bootstrap.system_call_filter 不会影响堆栈的其余部分。此检查旨在防止SecComp未被静默初始化但已配置为初始化的情况-即,防止我们在操作系统管理员不希望的条件下启动Elasticsearch。
这意味着您需要做的就是在elasticsearch.yml中设置配置:

bootstrap.system_call_filter: false

并让您的DevOps知道Elasticsearch可以与禁用的SecComp一起工作。

相关问题