ZooKeeper 文件管理
使用 SolrCloud 时,配置文件保存在 ZooKeeper 中。
在下列情况下会上传这些文件
-
使用
bin/solr
脚本启动 SolrCloud 示例时。 -
使用
bin/solr
脚本创建集合时。 -
将配置集显式上传到 ZooKeeper。
启动引导
首次使用 bin/solr -e cloud
试用 SolrCloud 时,相关配置集会自动上传到 ZooKeeper,并与新创建的集合关联。
以下命令将启动 SolrCloud,其中默认集合名称 (gettingstarted
) 和默认配置集 (_default
) 已上传并与其关联。
bin/solr -e cloud -noprompt
在使用 bin/solr
脚本创建集合时,还可以使用 -d
选项显式上传配置目录,例如
bin/solr create -c mycollection -d _default
创建命令会将 _default
配置目录的副本上传到 /configs/mycollection
下的 ZooKeeper。有关用于创建集合的 create 命令的更多详细信息,请参阅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));
强烈建议将配置保存在版本控制系统、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> 。 |