2014-04-28 58 views
2

我有一個zookeeper實例(Solr集成版本)與3個集合。每個集合在其conf目錄中都有不同的schema.xml。 Zookeeper開始成功 - 目標是對不同的集合進行分佈式搜索。 我的問題是,當我通過管理工具查看collection2和collection3的模式時,它們都顯示爲使用collection1模式。所以我不能更新館藏2 & 3,因爲他們錯過了正確的領域。Zookeeper多個集合不同的架構

我曾嘗試以下每個啓動方法都無濟於事 -

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

Ooops我剛剛找到了我的問題的答案。

java -Dbootstrap_conf=true -DzkRun -DnumShards=1 -jar start.jar 

基本上使用下面的命令

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命令。