[ Elasticsearch ] 啟動時報錯原因及解決措施


------------恢復內容開始------------

我這里是單點配置在CentOS上的,沒有部署集群。

首先,elasticsearch不支持root用戶操作,因此需要創建其他的linux用戶進行操作。

啟動elasticsearch之前應保證虛擬機上已安裝JDK。

 

1. Permission denied

  用戶沒有權限打開 log 文件:

  Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file logs/gc.log due to Permission denied

  Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /home/ekia/elasticsearch/config/elasticsearch.keystore

  解決措施:

  切換至root用戶,對當前文件夾執行 chmod 777 -R 指令賦予權限。

  ( ekia 為 elasticsearch 文件所在目錄)

[root@localhost ekia]# chmod 777 -R elasticsearch/

 

2. max file descriptors [4096] for elasticsearch process is too low

     用戶擁有的可創建文件權限太低

  解決措施:

  使用root用戶修改以下文件

vim /etc/security/limits.conf

  增加以下內容:

    soft nofile 65536

    hard nofile 65536

    soft nproc 4096

    hard nproc 4096

  之后修改另一個配置文件:

vim /etc/sysctl.conf

  增加以下內容:   

    fs.file-max = 100000

  並執行下列代碼使新配置生效:

# sysctl -p

 

 

3. max number of threads is too low

  用戶可用的最大線程數太少了

  解決措施:

  使用root用戶修改  /etc/security/limit.d/20-nproc.conf  文件

  (我這里前兩行是系統自帶的,第三行一定要手動添加,我最終問題就是出現在了第三行。這里感謝一下https://elasticsearch.cn/question/3915里的回答。)

*          soft    nproc     4096 
root       soft    nproc     unlimited
*          hard    nproc     4096

 

4. 啟動后通過虛擬機ip地址:9200無法訪問

  修改   elasticsearch/config/elasticsearch.yml 中的內容

network.host=0.0.0.0

 

 

目前為止踩了這些坑然后就可以啟動啦

 

 


免責聲明!

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



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