其中一个从服务器上的SOLR复制失败

时间:2012-07-04 22:49:30

标签: solr indexing replication

我们在tomacat上的Windows 2008环境中有4个从属,并且复制工作正常一段时间它开始在其中一个节点上失败我看到以下错误,看起来它看起来像权限问题但是我比较了两个节点和它们似乎是相同的,在这个节点上没有任何改变。

SEVERE: SnapPull failed 
org.apache.solr.common.SolrException: Unable to rename: D:\solr\core0\conf\compoundwords-de.txt to: D:\solr\core0\conf\compoundwords-de.txt.20120703165100
SEVERE: SnapPull failed 
org.apache.solr.common.SolrException: Failed to create temporary config folder: conf.20120705004320

我甚至尝试重新启动节点以删除任何挂起的锁,但它无法解决问题,我可以采取任何措施来解决问题并找到真正的原因。

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题:

SEVERE: SnapPull failed org.apache.solr.common.SolrException: Failed to create temporary config folder: conf.20120705004320

在尝试弄清楚为什么Solr管理员UI在复制过程中显示正在传输的文件时,我在tomcat的catalina.out中发现了这个错误,但是在复制之后,从属服务器上的索引版本和gen没有得到更新。事实上,在我的情况下,奴隶的版本和gen都高于主人(Solr 4.2.1)!

问题是solr conf dir的父目录的所有者(包含schema.xml,solrconfig.xml等的那个)。 Solr想要在conf.20120705004320 dir所在的同一个地方创建一个名为conf的临时conf目录。

一旦我将父文件夹的所有者更改为tomcat6复制就开始正常工作了。我使用了命令chown -R tomcat6:tomcat6 /var/solr,其中/ var / solr是我的${solr.home}。奴隶的版本和gen在修复后开始跟随主人。

答案 1 :(得分:1)

我终于在经过一些故障排除后解决了这个问题,我们发现java更新失败,此后复制开始失败。以下是我们为解决此问题所做的工作

  1. 再次重新安装JRE
  2. 尝试重新启动Solr,并删除所有索引文件,但它不起作用
  3. 我们继续删除核心并再次设置核心,它开始像以前一样工作