我正在尝试自动引导SolrCloud集群。我已经想出如何使用配置文件和我的solr.xml文件上传到zookeeper
./server/scripts/cloud-scripts/zkcli.sh -zkhost ${ZK_HOST} -cmd bootstrap -solrhome ${SOLR_HOME}
./bin/solr zk cp -z ${ZK_HOST} ${SOLR_HOME}/solr.xml zk:/solr.xml
但我不明白的是如何在任何Solr服务器启动之前创建我的集合。
我尝试使用zkcli.sh将我的配置链接到集合,但这需要集合已经存在。
我也尝试使用bin/solr create创建集合并将其链接到我的配置,但这需要Solr已经运行。
在整个集群运行之前,是否无法创建SolrCloud集合?
不,这是不可能的。你需要Solr运行,你点击这个Collections api endpoint来创建集合。这个端点由Solr提供服务
这个问题最近在solr-user mailing list上讨论过,结论是一样的,你需要让Solr运行才能创建一个集合。
解决此限制的一个建议是编写一个脚本,在调用集合API端点创建集合之前等待适当数量的节点可用。电子邮件线程中提到了一个能够执行此操作的示例python script。