问题环境,OS版本:CentOS release 6.9 (Final) ;ES版本:elasticsearch-7.4。html
一、max file descriptorsjava
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]bootstrap
每一个进程最大同时打开文件数过小,可经过下面2个命令查看当前数量vim
ulimit -Hn ulimit -Sn
修改/etc/security/limits.conf文件,增长配置,用户退出后从新登陆生效服务器
* soft nofile 65536 * hard nofile 65536
二、max number of threadsapp
max number of threads [3818] for user [es] is too low, increase to at least [4096]jvm
问题同上,最大线程个数过低。elasticsearch
修改配置文件/etc/security/limits.conf 和 /etc/security/limits.d/90-nproc.conf ,增长配置spa
vim /etc/security/limits.conf * soft nproc 65536 * hard nproc 65536 * soft nofile 65536 * hard nofile 65536 vim /etc/security/limits.d/90-nproc.conf soft nproc 4096
可经过命令查看线程
ulimit -Hu ulimit -Su
修改后的文件:
三、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
vm.max_map_count=262144
sysctl -p
执行命令sysctl -p生效
四、Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/elasticsearch/elasticsearch-6.2.2-1/config/jvm.options
elasticsearch用户没有该文件夹的权限,执行命令
chown -R es:es /usr/local/elasticsearch/
5.OpenJDK 64-Bit Server VM warning 问题
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
缘由是JDK9再也不支持UseConcMarkSweepGC,具体状况以下:
废弃的GC选项已被移除( JEP 214 )。 在 JDK 8( JEP 173 )中已经弃用了一些详细的 GC 选项和选项组合。这些将不会被识别,并将致使 JVM 在启动时停止。要注意的选项以下所示
-XX:-UseParNewGC -XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-Xincgc
-XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC -XX:-UseParNewGC
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSFullGCsBeforeCompaction
-XX:+UseCMSCollectionPassing
在 JDK 9 中,concurrent-mark-sweep (iCMS) 的增量模式已被移除,目前的计划是在 JDK 10 中彻底删除 CMS。。。
在JVM配置文件中去掉UseConcMarkSweepGC
六、后台运行
最后还有一个小问题,若是你在服务器上安装Elasticsearch,而你想在本地机器上进行开发,这时候,你极可能须要在关闭终端的时候,让Elasticsearch继续保持运行。最简单的方法就是使用nohup。
先按Ctrl + C,中止当前运行的Elasticsearch,改用下面的命令运行Elasticsearch
nohup ./bin/elasticsearch&
这样,你就能够放心地关闭服务器终端,而不用担忧Elasticsearch也跟着关闭了。
7.bootstrap.memory_lock: true致使Elasticsearch启动失败问题
elasticsearch官网建议生产环境须要设置bootstrap.memory_lock: true
解决办法以下:
须要修改
/etc/security/limits.conf
baoshan soft memlock unlimited
baoshan hard memlock unlimited
修改:
/etc/sysctl.conf
vm.swappiness=0
以后重启机器
参考相关博客:https://www.cnblogs.com/zhi-leaf/p/8484337.html