我坚持使用clusterstate.json(附后附件)中的范围为null值
"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更改为有意义的内容?我有我需要的范围,所以如果我能找到该文件,也许我可以手动更改它。
我的下一个问题是 - 我们是否可以捕获所有范围,我的意思是如果事情与任何其他范围不匹配,那么插入此分片中......这可能吗?
请提供建议。
答案 0 :(得分:1)
以下是使用Solr提供的zkcli.sh在zookeeper中手动编辑和更新clusterstate.json的示例。
下载clusterstate.json:
zkcli.sh -z zk-host-name -cmd getfile /clusterstate.json clusterstateLoca.json
编辑下载的closterstateLocal.json并保存
从ZK中删除陈旧的clusterstate.json
zkcli.sh -z zk-host-name -cmd clear /clusterstate.json
将修改后的clusterstate.json上传到ZK:
zkcli.sh -z zk-host-name -cmd putfile /clusterstate.json ./clusterstateLocal.json
答案 1 :(得分:0)
我通过创建重复的分片(副本)和解决方案来解决上述问题。使用以下内容创建 -
http://domain-name.com:1981/solr/admin/collections?action=CREATE&name=image&numShards=5&replicationFactor=2&maxShardsPerNode=2
也许它会帮助其他人......我有一个自定义排名算法,不确定这是否影响了这一点,但现在似乎解决了