運行環境:centos 7,jdk 1.8 問題一: 原因:無法創建本地文件問題,用戶最大可創建文件數太小 解決方案:切換到root用戶,編輯limits.conf配置文件, 添加類似如下內容: vim /etc/security/limits.conf 添加如下內容:* soft nofile 6 ...
運行環境: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/ssd_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: "*"