Elasticsearch集群部署的相关问题记录
ElasticSearch相關的端口
- ES:9200。作為http協議,主要用于外部通信
- ES:9300。作為TCP協議,jar之間就是通過 tcp協議通信,ES集群之間通過9300通信
- Kibana:5601
- Logstash:5044
- cerebro: 9000
ES啟動時遇到的問題
問題:
ERROR: [2] bootstrap checks failed.You must address the points described in the following [2] lines before starting Elasticsearch. bootstrap check failure [1] of [2]:max file descriptors [4096] for elasticsearch process is too low,increase to at least [65535] bootstrap check failure [2] of [2]:max virtual memory areas vm.max_map_count [65530] is too low,increase to at least [262144] ERROR: Elasticsearch did not exit normally - check the logs at /root/elasticsearch-7.13.3/logs/sahoc_es.log解決方案
編輯/etc/sysctl.conf,追加下面的內容
vm.max_map_count=655360 net.core.somaxconn=60000執行sysctl -p
vm.max_map_count代表限制一個進程可以擁有的VMA(虛擬內存區域)的數量
net.core.somaxconn 介紹
1)概念介紹
??對于一個TCP鏈接,Server與Client需要通過三次握手來建立網絡鏈接,當三次握手成功之后,我們就可以看到端口狀態由LISTEN轉為ESTABLISHED,接著這條鏈路上就可以開始傳送數據了
net.core.somaxconn是Linux中的一個內核(kernel)參數,表示socket監聽(listen)的backlog上限。
什么是backlog?backlog就是socket的監聽隊列,當一個請求(request)尚未被處理或者建立時,它就會進入backlog。
而socket server可以一次性處理backlog中的所有請求,處理后的請求不再位于監聽隊列中。
當Server處理請求較慢時,導致監聽隊列被填滿后,新來的請求就會被拒絕。
2)補充
Linux系統中,該參數的值默認是128
如果Linux系統中部署了經常處理新請求(request)的高負載的服務,那么顯然這個值是需要增加到更合適的值的
編輯/etc/security/limits.conf,追加一下內容
* sotf nofile 65536 * hard nofile 65536linux資源限制配置文件是/etc/security/limits.conf;限制用戶進程的數量對于linux系統的穩定性非常重要。 limits.conf文件限制著用戶可以使用的最大文件數,最大線程,最大內存等資源使用量。
* soft nofile 655350 #任何用戶可以打開的最大的文件描述符數量,默認1024,這里的數值會限制tcp連接 * hard nofile 655350 * soft nproc 655350 #任何用戶可以打開的最大進程數 * hard nproc 650000@student hard nofile 65535 @student soft nofile 4096 @student hard nproc 50 #學生組中的任何人不能擁有超過50個進程,并且會在擁有30個進程時發出警告 @student soft nproc 30- hard和soft兩個值都代表什么意思呢? soft是一個警告值,而hard則是一個真正意義的閥值,超過就會報錯
參考:https://cloud.tencent.com/developer/article/1403636
ES內存相關(監控頁面的heap)
參考:https://elasticsearch.cn/article/32
一般把ES內存設置為整臺機器內存的一半
如何修改ES內存?
編輯conf/jvm.options文件
把里面的
-Xms4g -Xmx4g取消注釋,并把4g改成8g即可,默認是1g
總結
以上是生活随笔為你收集整理的Elasticsearch集群部署的相关问题记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kubernetes(k8s)之yaml
- 下一篇: Elasticsearch查询相关总结以