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