Solrcloud Zookeper 设置:等待 4000ms 后未找到注册的领导者,集合:c1 切片:shard2

2024-05-12

我使用 solr 4.10.3,我通过 java 中的嵌入式 jetty 服务器启动 solr。我正在尝试使用 2 个分片(领导者)配置 solrcloud。我有一个外部动物园管理员设置,我在启动 solr 时指向动物园管理员实例,如下所示。

        System.setProperty("zkHost", "192.168.2.21:2111");
        System.setProperty("numShards", "2");
        System.setProperty("collection.configName", "configuration1");
        System.setProperty("bootstrap_confdir","/conf/zooconf");

我有两个 solr 实例正在运行,一个在 8983 端口,另一个在 8984 端口。问题是,我不确定两个 solr 节点是否都被识别为领导者。由于我通过 java 启动 solr,因此无法在 solr 管理 UI 中查看状态。

以下是我的 solr.xml :

<?xml version="1.0" encoding="UTF-8" ?>
<solr>
  <solrcloud>
    <str name="host">192.168.2.21</str>
    <int name="hostPort">${hostPort:8984}</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${solr.zkclienttimeout:30000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>

  <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:120000}</int>
    <int name="connTimeout">${connTimeout:15000}</int>
  </shardHandlerFactory>
</solr>

在 main 方法中,我连接到 solr 实例之一(8983)并使用以下代码片段创建核心。

    CloudSolrServer server = new CloudSolrServer("192.168.2.21:2111"); 
    server.setZkConnectTimeout(15*60*1000);
    server.setZkClientTimeout(15*60*1000);
    server.setParser(new BinaryResponseParser());
    server.setRequestWriter(new BinaryRequestWriter());     
    server.setDefaultCollection("C1");

    Create adminRequest = new Create();
    adminRequest.setAction(CoreAdminAction.CREATE);
    adminRequest.setCoreName("C1");
    adminRequest.setCollection("C1");
    adminRequest.setCollectionConfigName("configuration1");
    adminRequest.setDataDir("c:\\setup\somelocation");
    adminRequest.setInstanceDir("c:\\setup\somelocation\C1");
    adminRequest.process(solrServer);

当我执行此操作时,仅在一个 solr 实例(8983)中创建 C1。 (核心不是应该在两个 solr 实例的数据目录中创建吗?)。添加文档时,抛出以下异常。

等待4000ms后未找到注册的leader,集合:c1分片:shard2

这是添加文档时的 clusterState :

live nodes:[192.168.2.21:8984_solr, 192.168.2.21:8983_solr] collections: {
   C1=DocCollection(C1)=   {
      "shards":{
         "shard1":{
            "range":"80000000-ffffffff",
            "state":"active",
            "replicas":{
               "core_node1":{
                  "state":"active",
                  "core":"C1",
                  "node_name":"192.168.2.21:8983_solr",
                  "base_url":"http://192.168.2.21:8983/solr",
                  "leader":"true"
               }
            }
         },
         "shard2":{
            "range":"0-7fffffff",
            "state":"active",
            "replicas":{

            }
         }
      },
      "maxShardsPerNode":"1",
      "router":{
         "name":"compositeId"
      },
      "replicationFactor":"1",
      "autoAddReplicas":"false",
      "autoCreated":"true"
   }
}

如果我在添加文档之前在另一个 solr 实例(8984)中创建核心,它就可以正常工作。文档被索引并分布在 2 个分片之间。我做错了什么吗?请帮帮我。

提前致谢..


我在创建 adminRequest 时添加了以下几行,它起作用了

adminRequest.setPath("/admin/collections");
adminRequest.setNumShards(2);

以前它不起作用,因为默认路径指向旧的 api”/管理/核心“。我们需要确保新的 api 路径”/管理/集合“ 在 adminRequest 对象中给出了 solrcloud 操作中提到的新的集合API https://cwiki.apache.org/confluence/display/solr/Collections+API.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Solrcloud Zookeper 设置:等待 4000ms 后未找到注册的领导者,集合:c1 切片:shard2 的相关文章

随机推荐

  • swift 中带有字符的单引号

    我已经完成了 C C Java 这些语言告诉我字符用单引号括起来 主要是在遵守正确的语法时 但字符串是双引号的 Swift 的语法是否只允许字符位于单引号内 或者提供这种语法背后有一些有效的原因 逻辑 let char1 Character
  • 交换单链表中的节点

    我正在尝试交换两个节点 例如 如果节点是a and b我正在传递指针 a 1 gt next and b 1 gt next这基本上是节点a and b void swap struct stack a struct stack b str
  • 在 Cocoa/Carbon 下调试 NULL CGContext

    在执行程序期间 我在 XCode 调试控制台中得到以下输出
  • 当传递命名参数时,matplotlib 不会绘图

    有人可以解释这种行为吗 import matplotlib pyplot as plt plt plot x 0 05 0 1 0 15 y 102 211 393 plt show import matplotlib pyplot as
  • 作业 - Python 代理服务器

    对于编程练习 摘自 计算机网络 自上而下的方法 第 6 版 作者 Kurose 和 Ross 我们正在尝试用 python 开发一个简单的代理服务器 我们得到了以下代码 无论它在哪里 Fill in start Fill in end 这就
  • 当我尝试构建 Qt 4.7.1 静态库时,“找不到 -ljscore”

    我尝试从最新的源构建静态 Qt 库 但出现以下错误 usr bin ld cannot find ljscore collect2 ld returned 1 exit status 如何解决这个问题呢 这是 Qt 构建系统中自 4 7 0
  • 如何在 MVVM 中使用应用程序命令

    我想使用 ApplicationCommands Cut 复制 粘贴 保存 它们看起来很有趣 因为命令路由 键绑定以及某些控件使用它们的事实 我了解如何绑定到虚拟机上的中继 委托命令 但我似乎无法理解应用程序命令 我找到了一些旧的答案 但没
  • 解锁设备后 Android Activity 重新启动

    我正在创建一个简单的 Android 项目 但是当用户解锁屏幕 锁定后 时 我的每个活动都会重新启动 这是 Android 应用程序的正常行为吗 或者我必须在清单中处理它 或者别的地方 请帮忙 如果您的目标构建版本是 Honeycomb 3
  • Plotly:如何更改子图 y 轴的范围?

    我有以下代码 from plotly subplots import make subplots import requests import json import datetime as dt import pandas as pd i
  • Selenium:从文件系统拖放到 WebDriver?

    我必须测试一个网络应用程序 其中包含一个用于从本地文件系统上传文件的拖放区域 我的测试环境是基于C 的 对于自动化测试 我使用了 Selenium 但无法从文件系统中拖动文件 上传区域是div标签 无input标签 那么最好的方法是什么 A
  • 在 Django 中处理 ajax json 对象 - 'QueryDict' 对象没有属性 'read' 错误

    我正在尝试解析 Django 视图中的 json 对象 该对象已通过 ajax 通过 post 方法从客户端传递过来 JS post update vendor merchandise types JSON stringify json o
  • 防止拖动不可拖动元素时出现重影?

    我正在创建一个利用 HTML5 拖放 API 的网站 但是 为了增加用户体验 我想在用户拖动不可拖动元素时防止出现重影 这可能吗 此外 几乎每个元素似乎 可拖动的 默认情况下 人们可以单击然后快速拖动浏览器中的几乎任何元素 这会创建一个重影
  • ScrollViewer.ScrollToBottom 未完全滚动

    我创建了一个 WPF 控件 它允许我正在开发的应用程序的用户轻松选择要连接的 SQL Server 在控件上 存在三种不同类别的 SQL Server 本地 最近和网络上的更多服务器 Local 运行应用程序的计算机上的 SQL Serve
  • 命令运行时从 shell_exec 命令获取输出

    我正在编写一个 PHP 脚本网页 该网页旨在接受先前上传到服务器的 JFFS2 图像的文件名 然后 该脚本将使用映像重新刷新服务器上的分区 并输出结果 我一直在用这个 tmp shell exec update flash v filena
  • 向 Rails 应用程序中的内置类添加方法

    我想向 Rails 应用程序中的 Array 类添加一个方法 我应该把这个方法放在哪里 编辑得更清楚 显然我把它放在某个文件中 但是我如何告诉 Rails 应用程序在哪里可以找到它 执行此操作的一种方法是在以下位置创建一个文件lib rai
  • 使用 GDI+ 使用不同颜色绘制线条的快速方法?

    我有一个动态的点列表 可以随时添加新点 我想用不同的颜色画线来连接它们 颜色基于这些点的索引 这是代码 private List
  • 为什么OpenGL使用float而不是double? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在多个进程之间共享字典?

    我想知道是否可以跨多个进程共享字典的内容 我一直在看http docs python org 2 library multiprocessing html shared ctypes objects http docs python org
  • 弹性搜索 - search_after 参数

    我读了这个doc https www elastic co guide en elasticsearch reference 5 0 search request search after html要理解 search after 并有两个
  • Solrcloud Zookeper 设置:等待 4000ms 后未找到注册的领导者,集合:c1 切片:shard2

    我使用 solr 4 10 3 我通过 java 中的嵌入式 jetty 服务器启动 solr 我正在尝试使用 2 个分片 领导者 配置 solrcloud 我有一个外部动物园管理员设置 我在启动 solr 时指向动物园管理员实例 如下所示