Solr Cloud:没有托管分片的服务器

时间:2015-05-18 21:27:55

标签: solr sharding solrcloud

我们有一组独立的Solr核心(Solr 4.3),我们为此构建了一些自定义插件。我现在正在尝试将集群转换为Solr Cloud集群。这就是我尝试部署核心的方法(在4.7.2中)。

  1. 使用zookeeper嵌入启动solr。

    java -DzkRun -Djetty.port = 8985 -jar start.jar

  2. 将配置上传到Zookeeper(与独立内核相同的配置)

    zkcli.bat -zkhost localhost:9985 -cmd upconfig -confdir myconfig -confname myconfig

  3. 使用Collections API创建包含2个分片的新集合(mycollection) http://localhost:8985/solr/admin/collections?action=CREATE&name=mycollection&numShards=2&replicationFactor=1&maxShardsPerNode=2&collection.configName=myconfig

  4. 所以此时我在solr目录下有两个分片,其中包含相应的core.properties

    但是当我去http://localhost:8985/solr/#/~cloud时,我看到了两个碎片'状态是" Down"什么时候他们应该默认活动。

    当我尝试使用SolrJ(通过CloudSolrServer API)索引其中的文档时,我收到错误"没有可用的SolrServers来处理此请求"。我重新启动了Solr但同样的问题。

    private CloudSolrServer cloudSolr;
        cloudSolr = new CloudSolrServer(zkHOST);
        cloudSolr.setZkClientTimeout(zkClientTimeout);
        cloudSolr.setDefaultCollection(collectionName);
        cloudSolr.connect();
        cloudSolr.add(doc)
    

    我做错了什么?我做了很多挖掘,看到一个旧的Jira bug说Solr Cloud碎片在索引中有一些文件之前不会活跃。如果这就是原因,那有点像捕获22不是吗?

    所以无论如何,我还尝试手动添加一些测试文档并致力于查看是否有所改进。现在在分片统计页面上,它正确地给了我Numdocs计数,但是当我尝试查询时说"没有服务器托管分片"。我接下来尝试传入shards.tolerant = true作为查询参数和搜索,但没有雪茄。它说找到了0份文件。

    任何帮助将不胜感激。我的主要目标是使用SolrCloud重建旧的独立核心并测试我们的自定义请求处理程序是否仍然按预期工作。此时,我无法索引我创建的4.7 Solr Cloud集合中的文档。

    谢谢和问候

0 个答案:

没有答案