您实际上不想要/clusterstate.json
- 因为这仅涵盖已经存在集合的情况。从ZooKeeper你需要/live_nodes
因为 Zookeeper 是 Solr 节点是 Solr 云集群成员的权威,所以你应该先去它,发现哪些成员是可访问的。这就是所有 Solr 云客户端的工作方式,并且可能是解决问题的最佳方法。
/live_nodes
包含每个活动 Solr 节点的文件,无论存在哪些集合或副本位于何处。
一旦你解决/live_nodes
了......你可以在任何 Solr 实例上调用clusterstatus,并使用来自活动节点之一的地址和端口。
http://localhost:8983/solr/admin/collections?action=clusterstatus&wt=json
clusterstatus
提供 Solr 节点、集合、副本等的详细概述。您想知道的一切。
最后一点,SOLR_HOST
在solr.in.sh配置 ( /etc/default/solr.in.sh ) 中设置是非常明智的 - 默认情况下,'localhost' 用于引用 solr 节点。将此值设置为您希望 Solr 节点标识的公共地址将阻止 ZooKeeper 在尝试访问 Solr 节点时将地址“localhost”返回给客户端。