如何使用 CloudSolrClient 在多数据中心中处理其中一个 zookeeper 主机宕机的异常

问题描述 投票:0回答:0

请在这里帮助我。我有三个数据中心可用于 zookeeperhosts 的 solr

我总是写入这三个数据中心集合。客户集合在所有数据中心都可用。

我想让我们的应用程序的停机时间为零。我的问题是,如果我升级任何一个数据中心,那么那时它应该会关闭,而其他两个数据中心应该将数据毫无问题地插入到集合中。

您能否建议当其中一个数据中心 solr 节点/zookeeper 节点关闭时它可能抛出什么样的异常。

我应该在这里处理什么异常,即使一个数据中心 zookeeperhosts 挂了,我应该如何继续到其他 zookeeperhosts。

如何判断zookeeperhost是否up。

动物园管理员主持:

在这些 zookeeper 主机的下面有可用的 solr 节点。

test1-prd1-01:2188,test1-prd1-02:2188,test1-prd1-03:2188
test2-prd1-01:2189,test2-prd1-02:2189,test2-prd1-03:2189
test3-prd1-01:2190,test3-prd1-02:2190,test3-prd1-03:2190 这是我遍历 zookeerperhost 列表的代码

try 
        {
        for (String eachHost:zookeephostlist) 
        {
        CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder().withZkHost(eachHost).withHttpClient(client).build();
        cloudSolrClient.add(doc, commitWithinMs);
        }
        } 
        catch (SolrServerException  e) 
        {
        status = false;
        }
        catch (IOException e) 
        {
        status = false;
        }
        catch (Exception e) 
        {
        status = false;
        }
solr cloud apache-zookeeper solrj solrcloud
© www.soinside.com 2019 - 2024. All rights reserved.