Solrノードがクラッシュする

トピック作成者:ks-solruserml-bot (2024/06/04 22:26 投稿)
3
CloseClose

(The bot translated the original post https://lists.apache.org/thread/k8dlm18moy1tpjrwx173hw194gt79j9r into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

みなさん、こんにちは。

私はSolr 7.4.0を実行しており、4つのノード(2つのシャード、複製ファクター=2)でコレクションを実行しています。大規模なバッチをインデックスに追加すると、ランダムなノードがクラッシュする問題に直面しています(ドキュメントが500,000以上の場合)。ノードがクラッシュした後、再起動して問題を解決することで、システムを稼働させることができました。時々、修復不能なレプリケーションシャードが残ることがあり、その場合はレプリカを削除して再追加することで修正しています。

また、ドキュメントを500,000未満のバッチで挿入すると、クラッシュせずに成功しています。それが現在の回避策です。

この問題のトラブルシューティングについて誰かが助けてくれるかどうか、方向を示してもらえないかと思っています。これにより、1度に最大100mドキュメントを送信できるようになります。

ログからは、次のエラーが発生していることがわかりました:
SolrException.java:148) - java.io.EOFException
org.apache.solr.update.ErrorReportingConcurrentUpdateSolrClient (StreamingSolrClients.java:147) - error

以下のリンクを参照しました:https://solr.apache.org/guide/7_3/taking-solr-to-production.html#file-handles-and-processes-ulimit-settings

私はRHELを実行しており、これが正しく設定されているかどうかを確認しました。
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 1544093
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

cat /proc/sys/fs/file-max
39208945

次に、次の試みで5分ごとにcat /proc/sys/fs/file-nrの出力をログに記録するジョブをスケジュールすることを考えています。これにより、この設定が問題でないかどうかを検証できると思います。

他にアイデアはありますか?

よろしくお願いします。
Jon

返信投稿者:ks-solruserml-bot (2024/06/04 22:26 投稿)

それは正しく設定されていません。オープンファイルの設定が小さすぎます。参照しているドキュメントによれば、ファイルとプロセスを65,000に設定するように指定されています。しかし、あなたの設定はそれぞれ1024と4096になっています。

wunder
Walter Underwood
wunder@wunderwood.org
http://observer.wunderwood.org/ (私のブログ)

返信投稿者:ks-solruserml-bot (2024/06/04 22:26 投稿)

Walter、ご回答いただきありがとうございます。さらに検討した結果、私のSolrサービスアカウントには以下のような設定があります:

  • オープンファイル数(-n):128,000
  • ユーザープロセス数の最大値(-u):65,536

ドキュメントをインデックス化するために提出すると、そのプロセスは私のアカウント(ログイン中のアカウント)の下で実行されるのでしょうか、それともサービスアカウントの下で実行されるのでしょうか?

返信投稿者:ks-solruserml-bot (2024/06/04 22:26 投稿)

管理者UIのダッシュボードページには、現在のオープンファイル数と最大数を表示するグラフがあります。これは「ファイル記述子数」と呼ばれています。

wunder
Walter Underwood
wunder@wunderwood.org
http://observer.wunderwood.org/ (私のブログ)

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?