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
解決:
-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