我有一个带有3个集合的zookeeper实例(Solr集成版本)。每个集合在其conf目录中都有一个不同的schema.xml。 Zookeeper成功启动 - 目标是跨不同的集合进行分布式搜索。 我的问题是,当我通过管理工具查看collection2和collection3的模式时,它们似乎都使用了collection1模式。所以我无法更新集合2& 3因为他们错过了正确的字段。
我尝试了以下每种启动方法都无济于事 -
java -Dbootstrap_conf=true -DzkRun -DnumShards=1 -jar start.jar
和
java -DzkRun -DnumShards=1 -jar start.jar
和
java -Dbootstrap_confdir=solr/collection1/conf -Dcollection.configName=collection1 -DzkRun -DnumShards=1 -jar start.jar
包含它有助于我的solr.xml文件包含以下代码段 -
<cores adminPath="/admin/cores" defaultCoreName="collection1" host="${host:}" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}" zkClientTimeout="${zkClientTimeout:15000}">
<core name="collection1" instanceDir="collection1" />
<core name="collection2" instanceDir="collection2" />
<core name="collection3" instanceDir="collection3" />
答案 0 :(得分:0)
Ooops我刚刚找到了问题的答案。
java -Dbootstrap_conf=true -DzkRun -DnumShards=1 -jar start.jar
基本上上面的命令似乎不起作用,因为zookeeper已经使用以下命令在之前的时间被引导(配置文件已加载)
java -Dbootstrap_confdir=solr/collection1/conf -Dcollection.configName=collection1 -DzkRun -DnumShards=1 -jar start.jar
上面的命令意味着所有集合都将使用collection1 / conf中的模式。随后使用命令-Dbootstrap_conf = true启动zookeeper没有任何影响。
解决方案 - 删除solr / zoo_data目录并重新运行-Dbootstrap_conf = true命令。