我使用Solr 4.4,Zookeeper 3.4.5和Tomcat 7.
CLUSTER SETUP:3个分片和3个副本。共有6个Solr实例。
群集已启动并正在运行。一切似乎都没问题。在日志中没有任何关键,除了关于弃用类的警告很少。
我如何进行配置更新:
运行以下命令:
java -classpath。:solr-jars / * org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost ZOOKEEPER_HOST:PORT -d solr-conf -confname myconf
检查配置是否已在Zookeeper中更新:
/var/zookeeper/bin/zkCli.sh ZOOKEEPER_HOST:PORT
ls /configs/myconfig/schema.xml
ls /configs/myconfig/solrconfig.xml
通过Solr Collection API重新加载集合
curl HOST / solr / admin / collections?action = RELOAD& name = collection1
配置更新似乎已成功应用于所有节点。但有时群集中的一个节点会关闭(在Solr Admin UI中标记为棕色)。 Tomcat重启,集合重装无助于恢复此节点。
来自日志的错误消息:
SyncStrategy - No UpdateLog found - cannot sync
问题:
更新1 看起来错误消息与实际问题无关。配置事务日志后,此错误消失。但收集重新加载后,很少有节点仍然停止运行。
将其恢复的唯一方法是直接编辑Zookeeper中的clusterstate.json,并将节点状态更改为“active”。之后,节点似乎还可以稳定。
答案 0 :(得分:0)
我只能回答第二个问题(如果我理解正确的话)。 将配置上传到ZooKeeper后更改配置的正确方法是使用“linkconfig”。可能是这样的:
java -classpath .:solr-jars/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -zkhost ZOOKEEPER_HOST:PORT -confname myconf -collection collection1