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


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

相关内容