Ubuntu 16.04を新しくインストールし、Elasticsearch 5をインストールしました。次に、次のようにElasticsearchを起動しようとすると
/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]
インターネット検索の最後に次の行を追加する必要があるという結論に達しました/etc/security/limits.conf
。
elasticsearch - nproc 2048
ただし、これを変更した後も同じエラーが発生します。
その行のコメントを解除するよう提案を見つけました。
session required pam_limits.so
しかし、/etc/pam.d/su
その行はコメントアウトされていません。
私は何を見逃していますか?
答え1
さて、いよいよ見つけました。コアはこのブログ投稿にあります。https://fredrikaverpil.github.io/2016/04/27/systemd-and-resource-limits/
解決策は、ファイルを編集して/usr/lib/systemd/system/elasticsearch.service
次の行を追加することです。
LimitNPROC=2048
答え2
私たちもこの問題に直面し、これは私たちが最初にElasticsearchを設定したときに作成したシステムサービスオーバーレイファイルであることがわかりました。
カバレッジファイルはドキュメントで参照されます。https://www.elastic.co/guide/en/elasticsearch/reference/current/setting-system-settings.html#systemd
/etc/systemd/system/elasticsearch.service.d/ で conf ファイルを確認し、そのファイルを削除するか、該当する Elasticsearch バージョンに合った LimitNPROC= に更新してください。
答え3
ES ノードで elasticsearch サービスを確認すると、次のエラーが発生します。
[root@h ~]# /etc/init.d/elasticsearch status
elasticsearchは死んだが、subsysはロックされている。
ログを詳細に調べたところ、次のエラーが検出されました。 [2020-03-26T07:41:03,281][ERROR][oebBootstrap] [h2-es-data-0] ノード確認例外[1] ブート確認失敗[1]: 最大数 ユーザー数[ elasticsearch] スレッド [1024]が低すぎます。 [2048] [2020-03-26T07:41:03,284][INFO][oenNode] [h2-es-data-0] 停止... [2020-03 -26T07:41:03,322][INFO][oenNode] [h2-es-data-0] 停止
すべての6つのesノードでスレッドプールを増やすために、/etc/security/limits.confに次の行を追加しました。
elasticsearch - nproc 2048
すべてのESノードのサービスを再起動します。
/etc/init.d/elasticsearch restart