更改lucidworks fusion 4中的“solr群集”

qv7cva1a  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(362)

我正在使用外部zookeeper(3.5.6)和solr(7.7.2)运行fusion 4.2.4。我一直在运行一组本地服务器,并试图转移到aws示例。我的本地zookeepers的所有配置都已复制到aws示例,因此它们在功能上应该是等效的。
我想关闭旧的(本地)zookeeper示例,只使用aws中运行的示例。我已经更改了solr和fusion(fusion.properties)的配置,以便它们只使用aws示例。
我的问题是fusion的solr cluster(system->solr clusters)与我的所有集合关联,它仍然设置为旧的zookeepers:9983,:9983,:9983,因此如果我关闭zookeeper的所有旧示例,我通过fusion的查询api进行的查询将不再工作。当我尝试更改该集群的“连接字符串”时,它失败了,因为该集群当前正由集合使用。我可以创建一个新集群,但我无法将新集群与我的任何集合相关联。在与生产环境类似的测试环境中,我使用fusion的collections api更改了特定集合的searchclusterid,但是在这样做之后,当我关闭所有“旧”zookeeper示例时,查询仍然失败。这似乎是一条路,所以我很惊讶它似乎不起作用。
到目前为止,lucidworks的支持还不能提供解决方案——我愿意听取建议。

ryhaxcpt

ryhaxcpt1#

这就是我解决这个问题的方法。
我使用aws fusion ui/api/等、本地solr、aws solr、本地zk和aws zk创建了一个测试环境。

1. Configure Fusion and Solr to only have the AWS ZK configured
  2. Configure the two ZKs to be an ensemble
  3. Create a new Solr Cluster in Fusion containing only the AWS ZK
  4. For each collection in Solr
      a. GET the json from <fusion_url>:8764/api/collections/<collection>
      b. Edit the json to change “searchClusterId” to the new cluster defined in Fusion
      c. PUT the new json to <fusion_url>:8764/api/collections/<collection>

在完成所有这些之后,我能够在fusion管理ui中更改“默认”solr集群,以确认没有集合在使用它(我不确定是否有任何集合会使用“默认”集群,因此我认为不冒险是明智的)。然后,我能够停止本地zk,将aws zk置于独立模式,并重新启动fusion。一切似乎都是毫无问题地开始的。
我不确定这是否是最好的方法,但据我所知,它解决了问题。

相关问题