首先 切换到 root 用户下,命令:su root 采坑都是泪啊。
1.max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决办法:
修改/etc/security/limits.conf文件,追加配置,用户退出后重新登录生效。
* soft nofile 65536 * hard nofile 65536
2.ax number of threads [1024] for user [lishang] likely too low
错误原因:启动检查未通过
elasticsearch用户的最大线程数太低
解决办法:
修改limits.d目录下的配置文件,=把2048 改成es 指定的数量。
vi /etc/security/limits.d/90-nproc.conf
3.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
elasticsearch启动时遇到的错误
问题翻译过来就是:elasticsearch用户拥有的内存权限太小,至少需要262144;
在root用户下,执行命令:
sysctl -w vm.max_map_count=262144
查看结果:
sysctl -a|grep vm.max_map_count
显示:
vm.max_map_count = 262144
上述方法修改之后,如果重启虚拟机将失效,所以:
解决办法:
在 /etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144
即可永久修改。但需要重启。
5.Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/elasticsearch/elasticsearch-6.2.2-1/config/jvm.options
elasticsearch用户没有该文件夹的权限,在root用户下执行命令
chown -R es:es /usr/local/elasticsearch/ 这里的 es 就是你的用户名称。