欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

elasticsearch常见的问题及解决办法总结

程序员文章站 2022-09-28 17:31:16
1、unable to install syscall filter:Java.lang.UnsupportedOperationException:seccomp unavailable:...

1、unable to install syscall filter:Java.lang.UnsupportedOperationException:seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMPandCONFIG_SECCOMP_FILTERcompiledinatorg.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349)[elasticsearch-5.0.0.jar:5.0.0]at org.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630) ~[elasticsearch-5.0.0.jar:5.0.0]

原因:主要是linux的版本过低

解决方案:

重新安装新版本的linux系统

2、ERROR: bootstrap checks failed:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

原因:无法创建本地文件问题,用户最大可创建文件数太小

解决方案:

切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:

vi /etc/security/limits.conf

添加如下内容:

*? soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

备注:* 代表Linux所有用户名称(比如hadoop)

保存、退出、重新登录才可生效

3、max number of threads [1024] for user [es] likely too low, increase to at least [2048]

原因:无法创建本地线程问题,用户最大可创建线程数太小

解决方案:

切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件。

vi /etc/security/limits.d/90-nproc.conf

修改 * soft nproc 1024 为? * soft nproc 2048

4、max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

原因:最大虚拟内存太小

解决方案:

切换到root用户下,修改配置文件sysctl.conf

vi /etc/sysctl.conf

添加下面配置:vm.max_map_count=655360

并执行命令:sysctl -p

5、ElasticSearch启动找不到主机或路由

原因:ElasticSearch 单播配置有问题

解决方案:检查ElasticSearch中的配置文件

vi? config/elasticsearch.yml

注意此配置格式

discovery.zen.ping.unicast.hosts:["192.168.**.**:9300","192.168.**.**:9300"]

6、org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream

原因:ElasticSearch节点之间的jdk版本不一致

7、Unsupported major.minor version 52.0

原因:jdk版本太低

解决方案:elasticsearch5.0.0支持jdk1.8.0

8、bin/elasticsearch-plugin install license? ? ? ? ERROR: Unknown plugin license

原因:ElasticSearch5.0.0以后插件命令已经改变

解决方案:bin/elasticsearch-plugin install x-pack

9、启动异常:ERROR: bootstrap checks failed? ?system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk?

原因:因为Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899

解决方案:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

10、格式问题:Exception in thread "main" 2017-11-10 06:29:49,106 main ERROR No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.ElasticsearchParseException[malformed, expected settings to start with 'object', instead was [VALUE_STRING]]

原因:elasticsearch.yml中的配置项的格式有问题

解决方案:请尽量保持冒号前面没空格,后面一个空格,不要用tab键

bootstrap.memory_lock: false