solr clusterstate.json已损坏可以手动恢复吗?

vjhs03f7  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(489)

在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来改变这一点,但它无法做到。我试图找到这个文件,但什么地方都没找到。
你能让我知道如何将范围从空改为有意义的吗?我有我需要的范围,所以如果我能找到文件,也许我可以手动更改它。
我的下一个问题是-我们可以有一个范围,我的意思是,如果东西不匹配任何其他范围,然后插入这个碎片…这是可能的吗?
好心的建议。

gojuced7

gojuced71#

我通过创建复制碎片(replicas)解决了上述问题,并使用以下方法创建了它-

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

也许它也会帮助其他人…我有一个自定义的排名算法,不确定这是否是影响这一点的事情,但现在似乎解决了

hgqdbh6s

hgqdbh6s2#

下面是一个使用solr提供的zkcli.sh在zookeeper中手动编辑和更新clusterstate.json的示例。
下载clusterstate.json:
zkcli.sh-z zk主机名-cmd getfile/clusterstate.json clusterstateloca.json
编辑下载的closterstatelocal.json并保存
从zk中删除过时的clusterstate.json
zkcli.sh-z zk主机名-cmd clear/clusterstate.json
将修改后的clusterstate.json上载到zk:
zkcli.sh-z zk主机名-cmd putfile/clusterstate.json./clusterstatelocal.json

相关问题