Elasticsearch5.4署遇到的问题

问题一

can not run elasticsearch as root

Elastic 不建议通过root用户启动ES服务器,如果非要用root启动,可以在config/jvm.options配置文件中,添加参数:

-Des.insecure.allow.root=true

问题二

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

原因:
最大虚拟内存太小
解决:
1.切换到root用户
2.vi /etc/sysctl.conf
3.添加内容:vm.max_map_count=655360
4.执行命令:sysctl -p

问题三

max number of threads [1024] for user [xxx] likely too low, increase to at least [2048]

原因:
无法创建本地线程问题,用户最大可创建线程数太小
解决:
1.切换到root用户
2.vi /etc/security/limits.d/90-nproc.conf
3.找到如下内容:

* soft nproc 1024

修改为

* soft nproc 2048

保存、退出、重新登录,使配置生效

问题四

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

原因:
无法创建本地文件问题,用户最大可创建文件数太小
解决方案:
1.切换到root用户
2.vi /etc/security/limits.conf
3.添加如下内容:

* soft nofile 65536
* hard nofile 131072

* soft nproc 2048
* hard nproc 4096

*表示所有用户
保存、退出、重新登录,使配置生效

问题五

Bulk请求异常(如DocumentMissingException、VersionConflictEngineException)导致内存泄漏

原因:

原文地址:https://www.jianshu.com/p/d4f7a6d58008

解决:

参考上面的文档后,也为ES找到了规避这个问题的措施: 在ES的JVM配置文件jvm.options里,添加一个log4j的系统变量
-Dlog4j2.enable.threadlocals=false

禁用掉thread local即可。 经过测试,该选项可以有效避开这个内存泄漏问题。 

问题六

elasticsearch官网建议生产环境需要设置bootstrap.memory_lock: true

启动elasticsearch,报错信息如下:

ERROR: bootstrap checks failed
memory locking requested for elasticsearch process but memory is not locked

原因:

bootstrap.memory_lock: true导致Elasticsearch启动失败问题

解决:

1./etc/security/limits.conf ,不限制Es启动用户(如xxx)的memlock

xxx soft memlock unlimited
xxx hard memlock unlimited

2.修改:/etc/sysctl.conf

vm.swappiness=0

 

posted @ 2018-03-21 17:27  水舟陆车  阅读(411)  评论(0编辑  收藏  举报