ZooKeeper 檔案管理
使用 SolrCloud 時,您的設定檔會保留在 ZooKeeper 中。
這些檔案會在下列任何一種情況下上傳
-
當您使用
bin/solr
指令碼啟動 SolrCloud 範例時。 -
當您使用
bin/solr
指令碼建立集合時。 -
明確將設定集上傳到 ZooKeeper。
啟動引導
當您第一次使用 bin/solr start -e cloud
嘗試 SolrCloud 時,相關的 configset 會自動上傳到 ZooKeeper,並與新建立的集合連結。
以下命令將使用預設集合名稱 (gettingstarted
) 和預設 configset (_default
) 啟動 SolrCloud,並將其上傳並連結。
bin/solr start -e cloud --no-prompt
您也可以在使用 bin/solr
指令碼建立集合時,使用 -d
選項明確上傳設定目錄,例如
bin/solr create -c mycollection -d _default
建立命令會將 _default
設定目錄的副本上傳到 ZooKeeper,路徑為 /configs/mycollection
。請參閱 Solr 控制腳本參考,以取得有關建立集合的建立命令的更多詳細資訊。
將設定目錄上傳到 ZooKeeper 後,您可以使用 Solr 控制腳本來更新它們。
最好將這些檔案保留在版本控制之下。 |
使用 bin/solr 或 SolrJ 上傳設定檔
可以使用以下命令使用 bin/solr 指令碼上傳新的設定集。
bin/solr zk upconfig -n <name for configset> -d <path to directory with configset>
以下程式碼示範如何使用 SolrJ 實現此目的
getConfigSetService()
.uploadConfig("nameForConfigset", Paths.get(localConfigSetDirectory), false);
強烈建議將設定保留在版本控制系統(Git、SVN 或類似系統)中。
管理您的 SolrCloud 設定檔
若要更新或變更您的 SolrCloud 設定檔
-
使用原始碼控制結帳程序,從 ZooKeeper 下載最新的設定檔。
-
進行變更。
-
將您變更的檔案提交到原始碼控制。
-
將變更推回 ZooKeeper。
-
重新載入集合,使變更生效。
首次啟動叢集前準備 ZooKeeper
如果您將與其他應用程式共用同一個 ZooKeeper 實例,您應該在 ZooKeeper 中使用 chroot。請參閱 ZooKeeper chroot 以取得操作說明。
有一些組態檔案包含叢集範圍的組態設定。由於其中一些對於叢集的正常運作至關重要,您可能需要在首次啟動 Solr 叢集之前,將這些檔案上傳到 ZooKeeper。這些組態檔案的範例(並非詳盡)有 security.json
和 clusterprops.json
。
例如,如果您想啟用身份驗證,可以使用 bin/solr 工具將 security.json
檔案推送到 ZooKeeper (Unix 範例)
bin/solr zk cp file:local/file/path/to/security.json zk:/security.json -z localhost:2181
如果您已在 solr.in.sh /solr.in.cmd 中定義 ZK_HOST (請參閱 xref:zookeeper-ensemble.adoc#updating-solr-include-files, 更新 Solr 包含檔案>>),您可以從上述命令中省略 -z <zk host string> 。 |