【问题标题】:SolrCloud replicas locking related errorSolrCloud 副本锁定相关错误
【发布时间】:2014-11-17 08:33:49
【问题描述】:

我们有三个虚拟机: 在前两个系统上,我们安装了 Tomcat 6、Zookeeper 3.4.6 和 Solr 4.10。 在第三个节点上安装了 TOmcat 6 和 Zookeeper 3.4.6 所以我们有一个两节点的 solrcloud 集群和一个三节点的 zookeeper 集群。

前两个虚拟机是 srvmsolr01 和 srvmsolr02。

我们可以创建集合和分片而不会出错。我们无法添加副本。

例如以下命令:

<i>http://srvmsolr01.test.com:8080/solr/admin/collections?action=CREATE&name=mycollection3&numShards=2&replicationFactor=2&maxShardsPerNode=2</i>

给我们错误:

<i>Caused by: org.apache.solr.common.SolrException: Unable to create core
[shard2_replica2]
        at org.apache.solr.core.CoreContainer.create(CoreContainer.java:507)
        at org.apache.solr.core.CoreContainer.create(CoreContainer.java:466)
        at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:575)
        ... 18 more
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:873)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:646)
        at org.apache.solr.core.CoreContainer.create(CoreContainer.java:491)
        ... 20 more
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
        at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1565)
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1677)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:845)
        ... 22 more
Caused by: org.apache.lucene.store.LockObtainFailedException: Lock
obtain timed out: NativeFSLock@/app/zookeeper/data/index/write.lock
        at org.apache.lucene.store.Lock.obtain(Lock.java:89)
        at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:755)
        at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:77)
        at org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:64)
        at org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:279)
        at org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:111)
        at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1528)
        ... 24 more </i>

如果我们创建一个包含两个分片的集合,然后我们尝试单独添加每个副本,也会发生同样的情况:

<i>http://srvmsolr02.test.com:8080/solr/admin/cores?action=CREATE&name=shard1_replica2&collection=collection1&shard=shard1
http://srvmsolr01.test.com:8080/solr/admin/cores?action=CREATE&name=shard2_replica1&collection=collection1&shard=shard2</i>

我们仔细检查了配置,但无法理解如何实现我们的目标:两个 solrcloud 节点,集合由两个分片和两个副本组成,每个分片一个副本

问候 乔瓦

【问题讨论】:

  • 你有没有想过这个问题?我遇到了类似的问题,似乎与锁定有关。我尝试了所有找到的锁定答案,但没有任何帮助。

标签: solr tomcat6 apache-zookeeper solrcloud


【解决方案1】:

我发现了问题。 由于 SolrConfig.xml 中的 datadir 参数而引发错误 使用这个参数,Solr 在同一个目录中创建所有内核,每个内核都有一个锁定文件,因此在特定时刻只有一个内核被锁定。

问候 乔瓦

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-17
  • 2015-09-12
  • 2015-09-12
相关资源
最近更新 更多