我已经安装使用独立的动物园管理员一个SolrCloud复制。 但现在我想做出一些改变我的Schema.xml的,并重新加载核心。 问题是,当我运行在一台服务器的Solr(无solrcloud)新架构加载,但我不知道如何重新加载所有的复制服务器上的架构。 我想重装上没有出现预期的影响服务器的一个模式。 是否有我可以重新载入我的schema.xml Solr中在使用饲养员分布式复制设置的方式。
Answer 1:
刚刚找到我们需要推动改变的配置的ZooKeeper整体解决方案。
只要使用
sh zkcli.sh -cmd upconfig -zkhost 127.0.0.1:2181 -collection collection1 -confname myconf -solrhome ../solr -confdir ../solr/collection1/conf
zkcli.sh是下例/云的脚本本
Answer 2:
标记为正确的答案是错的。 你必须使用Solr的收集API
Solr的收集API的适应症是SolrCloud和配置重装将整个集群中传播。 据我所知Solr的收集API可从Solr的4.8最少。
该过程略有不同,并与这些API,你可以只用一个API调用重新加载整个集群的配置。
只要上传与Solr的你更新的配置zkcli.sh
工具。 注意不要混淆Solr的zkcli.sh
与动物园管理员zkCli.sh
他们有相当的名称相同,但完全不同的目的。
因此,作为表示使用Solr的zkcli.sh
(在目录server/scripts/cloud-scripts
):
./zkcli.sh -cmd upconfig -zkhost 127.0.0.1:2181 -collection collection1 -confname myconf -confdir path/to/solr/collection1/conf
然后,你可以重新加载配置有:
http://server1:8983/solr/admin/collections?action=RELOAD&name=collection1
整个集群将被更新。
Answer 3:
下面是命令适用于Windows,
这将是Unix的几乎相同,我们只需要改变Solr的lib和类路径分隔符的路径; & :
; & :
由于其java命令所以应该在Unix中也运行。
java -Dlog4j.configuration="file:E:/solr-5.5.1/server/scripts/cloud-scripts/log4j.properties" -classpath .;E:/solr-5.5.1/server/solr-webapp/webapp/WEB-INF/lib/*;E:/solr-5.5.1/server/lib/ext/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 192.168.42.13:2787 -confdir E:/New_Solor_Conf -confname Solor_conf
有关命令简要说明如下:
log4j的日志记录配置。
- -Dlog4j.configuration =“文件:E:/solr-5.5.1/server/scripts/cloud-scripts/log4j.properties
类路径运行“org.apache.solr.cloud.ZkCLI”。 类。
确保UNIX和Windows都会有不同的:(Unix的分隔符);(视窗分隔)
- -classpath; E:/solr-5.5.1/server/solr-webapp/webapp/WEB-INF/lib/; E:/solr-5.5.1/server/lib/ext/
- -zkhost 192.168.42.13:2787( 远程主机和端口Solr的动物园管理员正在运行 )
- -confdir E:/ New_Solor_Conf(本地目录中我们需要上传。)
- -confname Solor_conf 远程实例名。
如果你不使用正确的类路径,你会得到错误,如:
Error: Could not find or load main class org.apache.solr.cloud.ZkCLI
要么
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFacto
ry
at org.apache.solr.common.cloud.SolrZkClient.<clinit>(SolrZkClient.java:
71)
at org.apache.solr.cloud.ZkCLI.main(ZkCLI.java:183)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
我能够无需物理登录上传我的本地配置更改远程Solr的框。 希望它会为其他的工作也。
Answer 4:
这为我工作:
bin/solr zk -upconfig -n collectionName -d pathto/Conf_directory -z localhost:2181/solr
文章来源: Reloading SolrCloud configuration (stored on Zookeeper) - schema.xml