我在我的项目中使用solr 3.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
- 例如
什么是最好的解决方案?