elasticsearch启动常见错误

问题出现环境,OS版本:CentOS 6.5;ES版本:elasticsearch-6.2.4

1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

  每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量

ulimit -Hn
ulimit -Sn

 vi /etc/security/limits.conf文件,增加配置,用户退出后重新登录生效

*               soft    nofile          65536
*               hard    nofile          65536

2、max number of threads [3818] for user [es] is too low, increase to at least [4096]

问题同上,最大线程个数太低。修改配置文件/etc/security/limits.conf(和问题1是一个文件),增加配置

*               soft    nproc           4096
*               hard    nproc           4096

可通过命令查看

ulimit -Hu
ulimit -Su

修改后的文件:

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

  修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144

vi /etc/sysctl.conf
sysctl -p

  执行命令sysctl -p生效

 4、Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/app/elasticsearch-6.2.4/config/jvm.options

  elasticsearch用户没有该文件夹的权限,执行命令

本人安装路径/usr/local/app/elasticsearch-6.2.4

chmod -R 777 /usr/local/app/elasticsearch-6.2.4

5、切换elk用户,bash: /home/elk/.bashrc: 权限不够

chown -R elk:root /home/elk

6、使用root用户启动失败

在有一次搭建elasticsearch的时候,使用systemctl启动elasticsearch失败,然后在bin目录下面去使用启动脚本启动,发现报错不能用root用户启动,报“Caused by: java.lang.RuntimeException: can not run elasticsearch as root”

解决:

创建一个独立的用户,比如elk来启动elasticsearch,不用root用户启动

7、 elasticsearch.yml的bind的IP写错,服务起不来

在一次安装 elasticsearc的时候,服务起不来,提示“Failed to bind to [9300-9400]”。启动服务报下面的错误

修改elasticsearch.yml文件,将IP改正确,重新启动服务,就OK了

network.host: 10.0.0.10   #这一行的IP地址,修改为本机IP

 本文内容部分引用:https://www.cnblogs.com/zhi-leaf/p/8484337.html

原文地址:https://www.cnblogs.com/fuanyu/p/14716670.html