Elasticsearch5.4署遇到的問題

問題一

can not run elasticsearch as root

Elastic 不建議經過root用戶啓動ES服務器,若是非要用root啓動,能夠在config/jvm.options配置文件中,添加參數:bootstrap

-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.找到以下內容:app

* soft nproc 1024

修改成jvm

* soft nproc 2048

保存、退出、從新登陸,使配置生效elasticsearch

問題四測試

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

緣由:
沒法建立本地文件問題,用戶最大可建立文件數過小
解決方案:
1.切換到root用戶
2.vi /etc/security/limits.conf
3.添加以下內容:spa

* soft nofile 65536
* hard nofile 131072

* soft nproc 2048
* hard nproc 4096

*表示全部用戶
保存、退出、從新登陸,使配置生效線程

問題五

Bulk請求異常(如DocumentMissingException、VersionConflictEngineException)致使內存泄漏code

緣由:blog

原文地址: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
相關文章
相關標籤/搜索