Ubuntu
如何提高彈性搜尋的最大執行緒數?
我全新安裝了 Ubuntu 16.04,並在其上安裝了 elasticsearch 5。現在,當我嘗試使用啟動彈性搜尋時
/etc/init.d/elasticsearch start
在日誌文件中幾秒鐘後,我讀到:
[2016-11-19T08:47:31,442][ERROR][o.e.b.Bootstrap ] [shooter-1] node validation exception bootstrap checks failed max number of threads [1891] for user [elasticsearch] likely too low, increase to at least [2048]
經過一番Google搜尋,我得出結論,我必須將以下行添加到
/etc/security/limits.conf
:elasticsearch - nproc 2048
但是,即使在此更改之後,我仍然會遇到相同的錯誤。
我找到了取消註釋該行的建議
session required pam_limits.so
in
/etc/pam.d/su
,但該行已被取消註釋。我錯過了什麼?
好的,我終於找到了。關鍵在這篇博文中:https ://fredrikaverpil.github.io/2016/04/27/systemd-and-resource-limits/
解決方案是編輯文件
/usr/lib/systemd/system/elasticsearch.service
並添加該行LimitNPROC=2048
我們也遇到了這個問題,結果證明它是我們最初設置 elasticsearch 時可能創建的 systemd 服務覆蓋文件。
覆蓋文件在文件中被引用:https ://www.elastic.co/guide/en/elasticsearch/reference/current/setting-system-settings.html#systemd
檢查 /etc/systemd/system/elasticsearch.service.d/ 是否有任何 conf 文件,然後刪除它們或使用您的 elasticsearch 版本的正確 LimitNPROC= 更新它們。