原因:elasticsearch自5版本之后,處於安全考慮,不允許使用root用戶運行。
解決:創建一個普通用戶,將elasticsearch 安裝目錄權限修改一下,切換至普通用戶運行elasticsearch就可以了
useradd elk
chown -R elk.elk /usr/local/elasticsearch/
su - elk
cd /usr/local/elasticsearch/
[elk@node1 elasticsearch]$ ./bin/elasticsearch
問題2: 虛擬機中的es啟動,顯示成功。在本地機器上無法連接
解決: 關閉防火牆
systemctl status firewalld #查看防火牆狀態
systemctl stop firewalld #關閉防火牆
elasticsearch.yml配置文件中修改成 network.host: 0.0.0.0


問題3
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
【1】修改/etc/security/limits.conf在最后添加
* soft nofile 65536
* hard nofile 131072
【2】解決辦法:
1、切換到root用戶修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
並執行命令:
sysctl -p
然后,重新啟動elasticsearch,即可啟動成功。
問題四
報錯:
main ERROR RollingFileManager (/usr/local/software/elasticsearch-5.5.2/logs/elasticsearch.log)
java.io.FileNotFoundException: /usr/local/software/elasticsearch-5.5.2/logs/elasticsearch.log
(Permission denied) java.io.FileNotFoundException: /usr/local/software/elasticsearch-5.5.2/logs/elasticsearch.log (Permission denied)
原因是 有文件的權限是root,需要改為自己創建的用戶
chown -R elk:elk 文件夾名稱
kibana 報錯
Request Timeout after 3000ms
修改kibana.yml文件,將30000毫秒(也就是30s) 改為50000
問題五
虛擬機啟動成功,外網無法打開
經過ES問題的解決,應該也會受到啟發,理所當然的想到該問題也是默認配置文件導致的。於是查看Kibana的配置文件Kibana.yml 發現其中有一項如下:
server.host: "localhost"
解決了ES的問題后,我們應該想到這個也是Kibana無法外網訪問的原因,將其按照之前的規則進行修改,並取消注釋:
server.host: "0.0.0.0"