ZooKeeper 文件管理
使用 SolrCloud,您的配置文件会保存在 ZooKeeper 中。
在以下任一情况下,都会上传这些文件:
-
当您使用
bin/solr
脚本启动 SolrCloud 示例时。 -
当您使用
bin/solr
脚本创建集合时。 -
显式上传配置集到 ZooKeeper。
启动引导
当您第一次使用 bin/solr start -e cloud
尝试 SolrCloud 时,相关的 configset 会自动上传到 ZooKeeper,并与新创建的集合链接。
以下命令将启动 SolrCloud,默认集合名称(gettingstarted
)和默认 configset(_default
)已上传并与之链接。
bin/solr start -e cloud --no-prompt
您也可以在使用 bin/solr
脚本创建集合时,使用 -d
选项显式上传配置目录,例如:
bin/solr create -c mycollection -d _default
create 命令会将 _default
配置目录的副本上传到 ZooKeeper 的 /configs/mycollection
下。有关创建集合的 create 命令的更多详细信息,请参阅Solr 控制脚本参考。
将配置目录上传到 ZooKeeper 后,您可以使用 Solr 控制脚本更新它们。
最好将这些文件保存在版本控制下。 |
使用 bin/solr 或 SolrJ 上传配置文件
可以使用以下命令通过 bin/solr 脚本上传新的 configset。
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> 。 |