プロジェクトで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
- 例えば
最善の解決策は何ですか?