【问题标题】:Can Solr tolerate loss of all cores on one shard?Solr 可以容忍一个分片上所有内核的丢失吗?
【发布时间】:2016-11-04 21:17:22
【问题描述】:

我正在使用 Solr 4.10.3 并且有 8 个分片。 每个分片有 1 个领导者和 1 个副本,因此总共有 16 个核心。 每个内核都在单独的 VM 上运行。

我的碎片的一个核心已关闭。他们全部。 我该如何从中恢复? 我可以通过某些命令添加分片领导者吗?

我不想丢失数据。

【问题讨论】:

  • 只是想知道,你也在使用zookeeper吗?你为这 16 个分片使用了多少台机器?
  • 您好阿曼,感谢您的回复。我正在使用动物园管理员集群。 Zookeeper 集群中有 9 个中等大小的 VM,每个 VM 有 2 个 CPU 内核。

标签: apache tomcat solr


【解决方案1】:

每个分片至少有一个副本可用。

假设 shard1 在 node2(leader) 和 node3(replica) 中。

  1. 如果节点 2 宕机,节点 3 成为领导者(zookeeper 负责此)。您仍然可以访问该分片中的所有文档。

  2. 如果 node2 和 node3 都关闭了,这意味着无法访问 shard1。

在日志中检查您的核心为何停机。

您无法通过某些命令添加分片领导者。 Zookeeper 跟踪哪些节点是活动的,哪些不是。 shard leader 由 Zookeeper 选举产生。

【讨论】:

    【解决方案2】:

    正如 Vinod 所提到的,如果有任何副本可用,则可以继续使用,但如果没有,则必须重新启动节点,然后 zookeeper 将读取集群状态并采取相应措施。

    我建议您始终将副本保留在另一个节点上,这样如果任何节点出现故障,solr 仍然可以处理查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 2017-11-22
      • 2016-05-07
      • 1970-01-01
      • 2014-04-04
      相关资源
      最近更新 更多