我正在尝试使用3台服务器的外部zookeeper集合和2台服务器上的复制solr来设置solrCloud。
假设外部zookeeper应独立于其他存储,我无法找到如何设置-solrhome参数。 zookeeper是否应该从工作节点读取数据?
如何上传配置并将其与目标集合链接?
答案 0 :(得分:9)
我们在使用solr.home时遇到了很多问题,所以请保存一些压力,并保留你的目录默认情况下solr是否喜欢它们。
示例:
要使您的配置进入Zookeeper,请熟悉solr的zkcli.sh脚本。你想用它来管理你的solr配置。它将在/configs
节点下创建/更新ZK中的文件。
./zkcli.sh -cmd upconfig -confdir /example/solr/collection1/conf -confname collection1 -z 127.0.0.1
运行上面的upconfig cmd后,/example/solr/collection1/conf
中的文件将在/configs/collection1
下上传到ZK。
还需要将您的配置链接到您的集合(在ZK的/collections
节点下创建一个节点)
# only need to link the config once
./zkcli.sh -cmd linkconfig -collection collection1 -confname collection1 -z 127.0.0.1
然后你可以像这样开始solr:
java -DzkHost=127.0.0.1 -jar start.jar
云中的其他服务器现在将从zookeeper获取配置!在这里一篇非常好的博客文章中提供了更多信息:SolrCloud Cluster (Single Collection) Deployment
注意:127.0.0.1是ZK服务器的逗号分隔列表,collection1是您的集合
答案 1 :(得分:2)
您可以将Solr配置的根目录指定为Zookeeper连接字符串的一部分:-zkhost host1,host2,hostN/solr