【问题标题】:How to specified zookeeper directory to upload config files for each SolrCore/SolrCollection如何指定 zookeeper 目录为每个 SolrCore/SolrCollection 上传配置文件
【发布时间】:2014-05-14 15:19:35
【问题描述】:

我正在从 solr4.1.0 升级到 solr4.7.1。以前,我使用外部 ZooKeeper 集成部署了 SolrCloud(超过 2 个节点)。 solr.xml 看起来像:

<solr persistent="true" sharedLib="lib">
  <cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:}" hostContext="solr">
    <core collection="collection1" name="core1" instanceDir="core1" />
  </cores>
</solr>

我在一个节点上通过以下命令引导云:

java -Djetty.port=8983 -Dsolr.solr.home=/dir/to/mysolrhome -Dbootstrap_conf=true -DzkHost=zookeeper1:2181 -jar start.jar

并使用以下命令启动其他 solr 节点:

java -Djetty.port=8983 -Dsolr.solr.home=/dir/to/mysolrhome -DzkHost=zookeeper1:2181 -jar start.jar

我的solr.home目录结构是:

mysolrhome    
    |--core1
    |--solr.xml

使用 solr4.1.0 时一切顺利。

但是当我将 solr 升级到 v4.7.1 时,我得到了以下异常:

5955 [coreLoadExecutor-4-thread-1] ERROR org.apache.solr.common.cloud.ZkStateReader  - Specified config does not exist in ZooKeeper:collection1
5957 [coreLoadExecutor-4-thread-1] ERROR org.apache.solr.core.CoreContainer  - Unable to create core: core1
org.apache.solr.common.cloud.ZooKeeperException: Specified config does not exist in ZooKeeper:collection1
    at org.apache.solr.common.cloud.ZkStateReader.readConfigName(ZkStateReader.java:152)
    at org.apache.solr.core.ZkContainer.createFromZk(ZkContainer.java:233)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:595)
    at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:258)
    at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:250)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
5959 [coreLoadExecutor-4-thread-1] ERROR org.apache.solr.core.CoreContainer  - null:org.apache.solr.common.SolrException: Unable to create core: core1
    at org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:989)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:606)
    at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:258)
    at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:250)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.solr.common.cloud.ZooKeeperException: Specified config does not exist in ZooKeeper:collection1
    at org.apache.solr.common.cloud.ZkStateReader.readConfigName(ZkStateReader.java:152)
    at org.apache.solr.core.ZkContainer.createFromZk(ZkContainer.java:233)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:595)
    ... 10 more

我查看了zookeeper,显示如下结构: 好像上传到zookeeper的configure目录是核心名称core1,但是solr加载了collection名称collection1的configure目录。

当我更改solr.xml 以将核心名称设置为collection1 时,它将起作用。

我的问题是,我可以为每个集合配置上传的配置目录吗? 或者如果我更改了我的核心名称,我之前的申请是否有任何副作用? 还是有其他解决方案?

我不使用-Dbootstrap_confdir,因为它只支持一个集合。我有多个使用不同架构的集合。

提前致谢。

【问题讨论】:

    标签: solr apache-zookeeper solrcloud


    【解决方案1】:

    最后,我将集合名称(“collection1”)更改为核心名称(“core1”)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-26
      • 2017-07-04
      • 2015-07-07
      • 1970-01-01
      • 2016-07-17
      • 2013-10-10
      • 2011-04-26
      • 2018-03-17
      相关资源
      最近更新 更多