重装SolrCloud配置(存储在动物园管理员) - schema.xml中(Reloading

2019-08-19 18:36发布

我已经安装使用独立的动物园管理员一个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