【发布时间】:2016-10-26 16:51:14
【问题描述】:
使用https://gist.github.com/kalharbi/fd29661b9926eb087c45 的 Kalharbi 这个奇妙的 GIST,我在我的本地主机上配置了 SolrCloud,在端口 2181 上使用三个 ZooKeeper 服务器, 2182 & 2183,他们的角色分别是追随者、追随者和领导者。
我已经上传了两个不同的配置,即 tr_config & rp_config 到 ZooKeeper 并使用以下命令创建两个集合
我的配置文件夹包含一些文件,如 schema.xml、solrconfig.xml 等,在
-/opt/solr/server/solr/configsets/tr_config
-/opt/solr/server/solr/configsets/rp_config
上传配置到 ZooKeeper:
./server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -zkhost 127.0.0.1:2181 -confdir ./server/solr/configsets/tr_config/conf/ -confname tr_config
./server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -zkhost 127.0.0.1:2181 -confdir ./server/solr/configsets/rp_config/conf/ -confname rp_config
创建收藏夹:
curl 'http://localhost:8983/solr/admin/collections?action=CREATE&name=transactions&numShards=2&replicationFactor=1&collection.configName=tr_config'
curl 'http://localhost:8983/solr/admin/collections?action=CREATE&name=properties&numShards=2&replicationFactor=1&collection.configName=rp_config'
它工作正常,但后来我更改了属性集合上的 solrconfig.xml 并再次将配置更新到 ZooKeeper 服务器,然后它在 solr 初始化时显示 lockType.native 问题,所以我在 solrconfig.xml 上设置了 lockType:none。它再次起作用。但是当我使用命令在 8983、8984 和 8985 等不同端口上运行所有 solr 实例时
$ ./bin/solr start -c -p 8983 -z 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
$ ./bin/solr start -c -p 8984 -z 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
$ ./bin/solr start -c -p 8985 -z 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
显示
没有服务器托管分片:shard1
但如果我停止 8984 和 8985 端口上的其他 solr 实例并重新启动 8983,那么我的所有文档都是可查询的。如果我再次启动任何 8984 或 8985 solr 实例,则 8983 实例再次不可查询。
问题可能是所有三个的数据索引目录都相同 solr 实例,但我不知道如何以不同的方式配置它 所有其他 solr 集合。所以专家们在我的下面给出了一些启示 问题。
有什么问题?为什么我不能运行三个实例 更新 ZooKeeper 上的配置。?
如何更改 maxShardsPerNode ?
提前致谢
【问题讨论】:
标签: solr apache-zookeeper solrcloud