解決elasticsearch7.3版本安裝過程中遇到的包括內存不夠、線程不夠等問題

之前有寫一篇elasticsearch7.3版本的安裝步驟,但是實際在部署過程中沒有那麼簡單,總會有各種奇奇怪怪的問題。

所以把主要的一些問題總結出來,以便以後升級的時候,不再重複踩坑。

問題:內存不夠

我在我工作電腦上安裝的時候,沒遇到這個問題,因爲我工作電腦的內存是24G,比較充足。

但是當我在開發服務器上部署的時候,就因爲這個坑,吭哧吭哧的琢磨了一天。

elasticsearch的默認配置內存需要1g,但是往往我們的一些開發服務器因爲有很多應用同時在跑,往往只有不到1個g的可用內存。而加內存短時間又不現實。我們也只是想驗證下elasticsearch的功能,所以測試時內存可以調小。

網上搜了一番,好多答案是修改安裝目錄下bin目錄下elasticsearch中的xms

然而我修改了,降到了我可用內存的數值。然後啓動,依然報內存不夠。

我接着找答案,後來發現是要改config目錄下的jvm.options文件,將這裏面的-Xms180m  -Xmx180m這兩個改到你服務器可用的內存的數值。我測試了在linux上,最低要180m才能跑起來,因爲之前我設置了120m的內存可以啓動elasticsearch,但是後面我要用logstash同步數據到elasticsearch中,會因爲分配的堆棧內存不夠,導致同步不進去。所以我調高了,然後幾次測算和實驗後,180m的內存可以實現啓動和同步數據。當然這個我我們開發測試時候用小內存實驗的。線上生產環境部署的時候,還是應該分配多點內存,畢竟elasticsearch是內存大戶。elasticsearch在搜索的時候,會將一些索引緩存到內存中,所以如果服務器內存多的話,儘可能多分配點內存,可以提高檢索速度。

不能以root賬戶啓動

這個看似比較好解決,elasticsearch出於安全考慮,已經不讓用root賬戶啓動了,所以我們在操作的時候,單獨創建個用戶就可以了。

但是,創建完用戶後,切到這個用戶上啓動elasticsearch時,又有新的問題了。

主要是一些用戶的線程數不夠。

修改linux線程數,vim打開 /etc/security/limits.d/90-nproc.conf

修改後用戶需要重新登錄下才生效。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章