在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 。它再次有效。但是当我在不同的端口上运行所有solr实例时,如8983,8984& 8985使用命令
$ ./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? p>
先谢谢
答案 0 :(得分:3)
您可能已经解决了它 - 使用所有节点的相同数据目录将无法正常工作(或者您已经发现,它会给出奇怪的错误)。如果您要运行多个节点,则必须为每个节点提供不同的solr.home
目录。
您可以在启动Solr时设置此项:
-s< dir>
设置solr.solr.home系统属性; Solr将在此目录下创建核心目录。这允许您在同一主机上运行多个Solr实例,同时重用使用-d参数设置的相同服务器目录。如果设置,则指定的目录应包含solr.xml文件,除非ZooKeeper中存在solr.xml。默认值为server / solr。
关于maxShardsPerNode
,我认为你不能这样做。当您创建集合时,该设置将被设置为#34;为集合。然而,Rebalance API正在进行中,以使这些事情变得更容易。
现在,您可以使用手动SPLITSHARD命令将分片拆分为两个不同的部分。这可以在服务器响应请求时完成,并将分片分成两半。