0

我坚持在 clusterstate.json 中的范围为空值(附在下面)

"shard5":{
        "range":null,
        "state":"active",
        "replicas":{"core_node1":{
            "state":"active",
            "core":"Web_shard5_replica1",
            "node_name":"domain-name.com:1981_solr",
            "base_url":"http://domain-name.com:1981/solr",
            "leader":"true"}}}},
    "router":"compositeId"},

我尝试使用 zookeeper cli 来改变这一点,但它无法做到。我试图找到这个文件,但在任何地方都找不到。

您能否让我知道如何将范围从 null 更改为有意义的值?我有我需要的范围,所以如果我能找到文件,也许我可以手动更改它。

我的下一个问题是 - 我们能否对范围进行全部捕获,我的意思是,如果事物与任何其他范围不匹配,则插入此分片..这可能吗?

好心劝告。

4

2 回答 2

1

这是使用 Solr 提供的 zkcli.sh 在 zookeeper 中手动编辑和更新 clusterstate.json 的示例。

  1. 下载 clusterstate.json:

    zkcli.sh -z zk-host-name -cmd getfile /clusterstate.json clusterstateLoca.json

  2. 编辑下载的closterstateLocal.json 并保存

  3. 从 ZK 中删除陈旧的 clusterstate.json

    zkcli.sh -z zk-host-name -cmd clear /clusterstate.json

  4. 将修改后的 clusterstate.json 上传到 ZK:

    zkcli.sh -z zk-host-name -cmd putfile /clusterstate.json ./clusterstateLocal.json

于 2015-02-18T17:44:02.680 回答
0

我通过创建重复的分片(副本)解决了上述问题并使用以下内容进行创建 -

http://domain-name.com:1981/solr/admin/collections?action=CREATE&name=image&numShards=5&replicationFactor=2&maxShardsPerNode=2

也许它也会对其他人有所帮助....我有一个自定义排名算法,不确定这是否是影响这一点的因素,但现在似乎已解决

于 2013-10-16T03:26:22.100 回答