Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SOLR无活动片服务哈希代码_Solr_Apache Zookeeper_Solrcloud - Fatal编程技术网

SOLR无活动片服务哈希代码

SOLR无活动片服务哈希代码,solr,apache-zookeeper,solrcloud,Solr,Apache Zookeeper,Solrcloud,我们的体系结构是SOLRCloud 4.4,包含1个集合和多个碎片和回复。 最近,在一些文件中,我们收到了以下例外情况: org.apache.solr.common.SolrException: No active slice servicing hash code 7b50d0a2 in DocCollection(collection1)={ "shards":{ "shard1":{ "range":"80000000-d554ffff", "state":"active",

我们的体系结构是SOLRCloud 4.4,包含1个集合和多个碎片和回复。
最近,在一些文件中,我们收到了以下例外情况:

org.apache.solr.common.SolrException: No active slice servicing hash code 7b50d0a2 in DocCollection(collection1)={
"shards":{
"shard1":{
  "range":"80000000-d554ffff",
  "state":"active",
  "replicas":{
    "core_node1":{
      "state":"active",
      "core":"collection1",
      "node_name":"XX.XXX.XXX.131:8983_solr",
      "base_url":"http://XX.XXX.XXX.131:8983/solr",
      "leader":"true"},
    "core_node7":{
      "state":"active",
      "core":"collection1",
      "node_name":"XX.XXX.XXX.131:9983_solr",
      "base_url":"http://XX.XXX.XXX.131:9983/solr"}}},
"shard2":{
  "range":"d5550000-2aa9ffff",
  "state":"active",
  "replicas":{
    "core_node5":{
      "state":"active",
      "core":"collection1",
      "node_name":"XX.XXX.XXX.133:8983_solr",
      "base_url":"http://XX.XXX.XXX.133:8983/solr"},
    "core_node8":{
      "state":"active",
      "core":"collection1",
      "node_name":"XX.XXX.XXX.132:8983_solr",
      "base_url":"http://XX.XXX.XXX.132:8983/solr",
      "leader":"true"}}},
"shard3":{
  "range":null,
  "state":"active",
  "replicas":{
    "core_node6":{
      "state":"active",
      "core":"collection1",
      "node_name":"XX.XXX.XXX.133:9983_solr",
      "base_url":"http://XX.XXX.XXX.133:9983/solr"},
    "core_node9":{
      "state":"active",
      "core":"collection1",
      "node_name":"XX.XXX.XXX.132:9983_solr",
      "base_url":"http://XX.XXX.XXX.132:9983/solr",
      "leader":"true"}}}},
“路由器”:“复合ID”}


通过阅读Solr和Zookeeper,我了解到Zookeeper试图在一个处于故障状态的碎片上索引文档?因此它失败了?但当我通过web浏览器查看状态时,所有碎片都处于在线状态,状态有效

在调查和阅读《动物园管理员/lucene/solr工作原理手册》后,为所有相关人员提供。
当solr cloud中有多个碎片时,每个碎片都有一个范围,当一个文档被索引时,它被添加到具有键的特定碎片上,键不是添加到solr的文档Id。此键是solr用来决定存储文档并在以后检索文档的碎片的哈希代码。
每个碎片都有一个范围,当solr添加文档时,它会为文档生成一个哈希代码id,并查找该范围的负责碎片。
在我的问题中,我们可以看到碎片#3范围为空,这意味着发生了一些不好的事情,这个碎片将无法正常工作(或者根本无法正常工作)。
我将碎片范围从十六进制转换为十二进制,并发现以下范围:

shard 1: "range":"80000000-d554ffff", Decimal: 2147483648 - 3579117567
shard 2: "range":"d5550000-2aa9ffff", Decimal: 3579117568 - 715784191
shard 3:  ITS NULL, but should be: "range":"0-7FFFFFFF",       Decimal: 0 - (2147483648-1)
Paramteter from exception: 7B50D0A2 -> 2068893858 
我们可以看到,碎片3需要用适当的范围重新定义。
如何操作-更新zookeeper上的clusterstate.json。
这样做安全吗?我不知道。

我做了,效果很好。(只需确保范围正确)