解決elasticsearch啟動時常見的錯誤


注:elasticsearch需要jdk8以上的環境,需要先安裝有jdk8以上,才能運行。

錯誤1:不能以root用戶運行

org.elasticsearch.bootstrap.StartupException: 
java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125)

注:出於安全考慮,elasticsearch默認不允許以root賬號運行。故需要創建一個用戶

解決辦法:

創建用戶,切換到創建的用戶,再運行。

下面這個鏈接,第二步中 有詳細centos7創建用戶,用戶組配置的過程。

centos7安裝 Elasticsearch鏈接:https://blog.csdn.net/qq_41357211/article/details/99991666

錯誤2:文件權限不夠

ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

這是切換自己創建的用戶后運行時,因為不是root,所以文件權限不夠。

解決辦法:

先切換到root用戶登錄,然后修改配置文件:

[root@localhost bin]# vim /etc/security/limits.conf

 配置文件中添加以下內容: (注意帶*)

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096

記得修改完,先切換到自己創建的用戶,再運行elasticsearch , reboot重啟生效

錯誤3:用戶擁有的內存權限太小,至少least [262144]

ERROR: [1] bootstrap checks failed
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

 解決辦法:

先切換到root用戶下,然后執行修改配置文件

( 沒有這個文件的話:root用戶下vim會自動創建一個新的;自己創建的用戶下,不額外配置的話,vim沒有權限創建 )

所以說,先切換到root用戶下

[root@localhost bin]$ su root

[root@localhost bin]$ vim /etc/sysctl.conf

文件中添加以下內容:

 vm.max_map_count=655360

 然后執行命令:

sysctl ‐p
  記得修改完,先切換到自己創建的用戶,再運行elasticsearch

錯誤4:線程數不夠

[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

先切換到root用戶下,然后執行修改配置文件

[root@localhost bin]$ vim /etc/security/limits.d/90‐nproc.conf

修改文件中內容:

* soft nproc 1024

改為:

* soft nproc 4096

錯誤5:權限不足

2019-08-22 03:16:26,465 main ERROR RollingFileManager 
(/home/leyou/elasticsearch/logs/elasticsearch.log) 
java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (權限不夠) 
java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (權限不夠)

解決辦法:

 切換到root用戶下,再cd 到 elasticsearch安裝目錄下,進行用戶授權

# 修改elasticsearch用戶組在當前目錄下的權限(帶點)
[root@localhost elasticsearch]# chgrp -R elasticsearch .
# 修改leyou用戶在當前目錄下的權限(帶點)
[root@localhost elasticsearch]# chown -R leyou .
錯誤6:內核過低

unable to install syscall filter: 
java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with

該錯誤發生在centos6或低版本系統,elasticsearch的插件要求linux內核至少3.5以上系統。

解決辦法:

修改conf目錄下的elasticsearch.yml,在文件最下面添加配置:

bootstrap.system_call_filter: false

 重啟即可。


原文鏈接:https://blog.csdn.net/qq_41357211/article/details/100011139


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM