如何在不运行Solr的情况下创建集合?

时间:2019-01-09 01:58:33

标签: solr solrcloud

我正在尝试自动引导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集合?

1 个答案:

答案 0 :(得分:1)

否,这是不可能的。您需要运行Solr,然后点击此Collections api endpoint创建集合。这个端点由Solr服务

最近在solr-user mailing list上讨论了这个问题,结论是相同的,您需要运行Solr才能创建集合。

解决此限制的一个建议是编写一个脚本,该脚本等待适当数量的节点可用,然后再调用collections API端点来创建collection。能够执行此操作的电子邮件线程中提到了一个示例python script