如何使用upconfig&外部zookeeper上的linkconfig脚本

时间:2015-01-09 09:30:14

标签: solr apache-zookeeper solrcloud

我正在尝试使用3台服务器的外部zookeeper集合和2台服务器上的复制solr来设置solrCloud。

假设外部zookeeper应独立于其他存储,我无法找到如何设置-solrhome参数。 zookeeper是否应该从工作节点读取数据?

如何上传配置并将其与目标集合链接?

2 个答案:

答案 0 :(得分:9)

我们在使用solr.home时遇到了很多问题,所以请保存一些压力,并保留你的目录默认情况下solr是否喜欢它们。

示例:

  • /example/solr/collection1/conf/schema.xml
  • /example/solr/collection1/conf/solrconfig.xml
  • /example/solr/collection1/core.properties
  • /example/start.jar

要使您的配置进入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