1

プロジェクトでsolr3.6.1を使用していますが、昨日以降、インデックスを更新しようとすると次のエラーが発生します。

Socket accept failed: java.net.SocketException: Too many open files

org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: 
  NativeFSLock@/opt/jboss-as-7.1.1.Final/domain/servers/server-one/lib/apache-solr-3.6.1-
 /example/solr/./data/index/write.lock

これらのエラー(?)を回避するために、次の「解決策」をすでに見つけました。

  • solrconfig.xml:
    • インデックスを複合インデックスに変更します。<useCompoundFile>true</useCompoundFile>
    • マージ係数を下げます:<mergeFactor>2</mergeFactor> ->最適値> 2および<10(=デフォルト)?
  • ファイル記述子:
    • 例えばulimit -n200000

最善の解決策は何ですか?

4

1 に答える 1

1

これは私のために働く:

次の行を /etc/security/limits.conf に挿入します

* soft nofile 65535
* hard nofile 65535

次に、ログアウト/ログインするか、サーバーを実行しているユーザーの新しいセッションを開きます。

于 2012-12-20T15:33:32.337 に答える