Elasticsearch 6.8.4 啟動報錯解決方法


運行環境:centos 7,jdk 1.8

問題一:

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

原因:無法創建本地文件問題,用戶最大可創建文件數太小

解決方案:
切換到root用戶,編輯limits.conf配置文件, 添加類似如下內容:

vim /etc/security/limits.conf

添加如下內容:
* soft nofile 65536

* hard nofile 131072

備注:* 代表Linux所有用戶名稱(比如 hadoop)

保存、退出、重新登錄才可生效

問題二:

修改limits.conf配置文件不生效解決方法:

1. 確保 pam 生效

在 /etc/pam.d/login 中,存在:

session required pam_limits.so

2. 確保 ssh 使用 pam

在 /etc/pam.d/sshd 中,存在:

session required pam_limits.so

在 /etc/ssh/sshd_config 中, 存在:

UsePAM yes

3. limits.conf 建議不要使用星號

官方 manual 以及網上的教程有很多都用了 * 符號,然而不是所有系統都認的

# 不兼容方式:
* soft nofile 51200
* hard nofild 51200
# 兼容方式
root soft nofile 51200
root hard nofile 51200
qhwa soft nofile 51200
qhwa hard nofile 51200

問題三:

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

原因:無法創建本地線程問題,用戶最大可創建線程數太小
解決方案:

切換到root用戶,進入limits.d目錄下,修改90-nproc.conf 配置文件。

vi /etc/security/limits.d/90-nproc.conf

找到如下內容:

* soft nproc 1024

#修改為

* soft nproc 2048

問題四:

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

原因:最大虛擬內存太小
解決方案:切換到root用戶下,修改配置文件sysctl.conf

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

並執行命令:

sysctl -p

然后重新啟動elasticsearch,即可啟動成功。

問題五:

服務器已開放端口,確無法訪問到es?

原因:端口被限制為本地訪問;

解決方法:配置文件elasticsearch.yml中添加:

network.host: 0.0.0.0

 

問題六:

訪問報跨域問題?

解決方法:配置文件elasticsearch.yml中添加:

http.cors.enabled: true
http.cors.allow-origin: "*"

 

 

 


免責聲明!

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



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