解决elasticsearch启动时常见的错误
Posted personsiglewine
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决elasticsearch启动时常见的错误相关的知识,希望对你有一定的参考价值。
注:elasticsearch需要jdk8以上的环境,需要先安装有jdk8以上,才能运行。
错误1:不能以root用户运行
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125)
注:出于安全考虑,elasticsearch默认不允许以root账号运行。故需要创建一个用户
解决办法:
创建用户,切换到创建的用户,再运行。
下面这个链接,第二步中 有详细centos7创建用户,用户组配置的过程。
centos7安装 Elasticsearch链接:https://blog.csdn.net/qq_41357211/article/details/99991666
错误2:文件权限不够
ERROR: [2] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
这是切换自己创建的用户后运行时,因为不是root,所以文件权限不够。
解决办法:
先切换到root用户登录,然后修改配置文件:
[root@localhost bin]# vim /etc/security/limits.conf
配置文件中添加以下内容: (注意带*)
* soft nofile 65536 * hard nofile 131072 * soft nproc 4096 * hard nproc 4096
记得修改完,先切换到自己创建的用户,再运行elasticsearch
错误3:用户拥有的内存权限太小,至少least [262144]
ERROR: [1] bootstrap checks failed [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法:
先切换到root用户下,然后执行修改配置文件
( 没有这个文件的话:root用户下vim会自动创建一个新的;自己创建的用户下,不额外配置的话,vim没有权限创建 )
所以说,先切换到root用户下
[root@localhost bin]$ su root
[root@localhost bin]$ vim /etc/sysctl.conf
文件中添加以下内容:
vm.max_map_count=655360
然后执行命令:
sysctl ‐p
记得修改完,先切换到自己创建的用户,再运行elasticsearch
错误4:线程数不够 [1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]
先切换到root用户下,然后执行修改配置文件
[root@localhost bin]$ vim /etc/security/limits.d/90‐nproc.conf
修改文件中内容:
* soft nproc 1024
改为:
* soft nproc 4096
错误5:权限不足
2019-08-22 03:16:26,465 main ERROR RollingFileManager (/home/leyou/elasticsearch/logs/elasticsearch.log) java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (权限不够) java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (权限不够)
解决办法:
切换到root用户下,再cd 到 elasticsearch安装目录下,进行用户授权
# 修改elasticsearch用户组在当前目录下的权限(带点)
[root@localhost elasticsearch]# chgrp -R elasticsearch .
# 修改leyou用户在当前目录下的权限(带点)
[root@localhost elasticsearch]# chown -R leyou .
错误6:内核过低
unable to install syscall filter: java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with
该错误发生在centos6或低版本系统,elasticsearch的插件要求linux内核至少3.5以上系统。
解决办法:
修改conf目录下的elasticsearch.yml,在文件最下面添加配置:
bootstrap.system_call_filter: false
重启即可。
原文链接:https://blog.csdn.net/qq_41357211/article/details/100011139
以上是关于解决elasticsearch启动时常见的错误的主要内容,如果未能解决你的问题,请参考以下文章