都說el配置很簡單,確實比solr簡單多了,不用手動配置一大堆,不過第一次配置也不輕松,因為馬虎老是漏掉了許多地方
配置一個半小時才啟動成功:
這里主要記錄一下一些遇到的坑:
一 不能用root啟動,可以將el相關的目錄權限全部授權給普通用戶:
chown -R username /usr/local/el
還有一點是,這下面創建目錄必須用普通用戶,否則還是root的權限
二 bootstrap checks failed [1]: max file descriptors [65535] for elasticsearch
虛擬內存和可打開文件不夠啟動會報錯:
所以必須要配置:
編輯 /etc/security/limits.conf,追加以下內容;
* soft nofile 65536
* hard nofile 65536
此文件修改后需要重新登錄用戶,才會生效
: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
編輯 /etc/sysctl.conf,追加以下內容:
vm.max_map_count=655360
保存后,執行:
sysctl -p
重新啟動,成功
三 9200 9300 別忘了打開
四 這個算是個大坑了,節點無法自動加入集群
剛開始部署完成時,啟動了三台節點,都成功了,但是查看狀態,顯示只有一個節點,這里還需要添加一個配置:
我這里主要是剛開始沒有配置這個,所以腦裂了,每個節點都說自己是master,這里查了好多資料,百度上說的都不一樣,
有個比較靠譜的解釋是 : 可能成為master的最小的節點個數,我這里配置至少要有兩個節點才能有master,所以單個節點就不會腦裂了!!!
總之,這里一定要配置,否則就有可能形成腦裂了
五 memory locking requested for elasticsearch process but memory is not locked
這個主要是配置了內存鎖定額外需要配置的一個,不鎖定就不用配置:
解決辦法如下:
需要修改
/etc/security/limits.conf
baoshan soft memlock unlimited
baoshan hard memlock unlimited