【问题标题】:Change "Solr Cluster" in Lucidworks Fusion 4在 Lucidworks Fusion 4 中更改“Solr Cluster”
【发布时间】:2021-08-27 18:51:21
【问题描述】:

我正在使用外部 Zookeeper (3.5.6) 和 Solr (7.7.2) 运行 Fusion 4.2.4。我一直在运行一组本地服务器,并正在尝试迁移到 AWS 实例。我本地 Zookeeper 的所有配置都已复制到 AWS 实例,因此它们在功能上应该是相同的。

我想关闭旧的(本地)Zookeeper 实例并只使用在 AWS 中运行的实例。我已更改 Solr 和 Fusion (fusion.properties) 的配置,以便它们仅使用 AWS 实例。

我遇到的问题是 Fusion 的 solr 集群(System->Solr Clusters)与我所有的集合相关联仍然设置为旧 Zookeepers :9983,:9983,:9983 所以如果我关闭所有旧实例Zookeeper 我通过 Fusion 的查询 API 进行的查询不再有效。当我尝试更改该集群的“连接字符串”时,它会失败,因为该集群当前正在被集合使用。我能够创建一个新集群,但我看不到将新集群与我的任何集合相关联。在与生产环境类似的测试环境中,我使用 Fusion 的 Collections API 更改了特定集合的 searchClusterId,但是这样做之后,当我关闭所有“旧”Zookeeper 实例时,查询仍然失败。看来这是要走的路,所以我很惊讶它似乎不起作用。

到目前为止,Lucidworks 的支持无法提供解决方案 - 我愿意接受建议。

【问题讨论】:

    标签: solr apache-zookeeper fusion lucidworks


    【解决方案1】:

    这就是我想出的解决这个问题的方法。

    我使用 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 Admin UI 中更改“默认”Solr 集群,以确认没有集合正在使用它(我不确定是否有任何东西会使用“默认”集群,所以我认为不抓住机会是明智的)。 然后我能够停止本地 ZK,将 AWS ZK 置于独立模式,然后重新启动 Fusion。一切似乎都毫无问题地开始了。

    我不确定这是不是最好的方法,但它解决了我所能确定的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多