在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来改变这一点,但它无法做到。我试图找到这个文件,但什么地方都没找到。
你能让我知道如何将范围从空改为有意义的吗?我有我需要的范围,所以如果我能找到文件,也许我可以手动更改它。
我的下一个问题是-我们可以有一个范围,我的意思是,如果东西不匹配任何其他范围,然后插入这个碎片…这是可能的吗?
好心的建议。
2条答案
按热度按时间gojuced71#
我通过创建复制碎片(replicas)解决了上述问题,并使用以下方法创建了它-
也许它也会帮助其他人…我有一个自定义的排名算法,不确定这是否是影响这一点的事情,但现在似乎解决了
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