Elasticsearch7.4工作笔记_02_【安装过程中的各种问题】

问题环境,OS版本:CentOS release 6.9 (Final) ;ES版本:elasticsearch-7.4。

1、max file descriptors

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

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

ulimit -Hn
ulimit -Sn

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

*               soft    nofile          65536
*               hard    nofile          65536

2、max number of threads

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

  问题同上,最大线程个数太低。

     修改配置文件/etc/security/limits.conf 和 /etc/security/limits.d/90-nproc.conf ,增加配置

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

修改后的文件:

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

vm.max_map_count=262144

sysctl -p

  执行命令sysctl -p生效

 4、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 

6、后台运行

最后还有一个小问题,如果你在服务器上安装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

原文地址:https://www.cnblogs.com/zzming/p/11666596.html