【问题标题】:Query solr cluster for state of nodes查询 solr 集群的节点状态
【发布时间】:2014-04-04 06:43:20
【问题描述】:

我正在尝试调整我们的系统状态检查以查看 SolrCloud 中 Solr 节点的状态。我面临以下问题:

我们分别向每个 Solr 节点发送查询。如果我们收到响应并且响应的状态为 0,则我们假设节点正在运行。不幸的是,我们已经看到了节点正在恢复甚至关闭并且仍在处理选择查询的情况。

为了防止这种情况发生,我们添加了一项检查,该检查向 solr 发送 ping 请求。如果此请求返回的状态为“OK”,我们假设节点已启动。不幸的是,即使有这个请求,如果节点正在恢复或关闭,这个检查也不会失败。

我的问题是:在 SolrCloud 中检查节点状态的正确方法是什么?

【问题讨论】:

    标签: solr state nodes apache-zookeeper rsolr


    【解决方案1】:

    如果您使用的是 SolrCloud,建议您也维护一个显式zookeeper ensemble。因为 zookeeper ensemble 维护 SolrCloud 每个节点和每个分片的当前状态。这个状态实际上是从 SolrCloud 管理窗口得到反映的。

    1. 转到管理窗口。点击“云”。
    2. 然后单击“树”以获取 SolrCloud 架构的树视图。
    3. 点击/clusterstate.json查看SolrCloud状态。

    这个 (clusterstate.json) json 文件包含 SolrCloud 状态信息。现在,如果您正在运行一个明确的 zookeeper 集成,以下是获取 SolrCloud 状态的步骤。

    1. 进入路径“zookeeper/installation/directory/bin”
    2. 执行./zkCli.sh -server ZK_IP:ZK_PORT(例如./zkCli.sh -server localhost:2181)
    3. 执行get /clusterstate.json

    您将找到 SolrCloud 状态。

    注意:ZK_IP - zoopeeper 运行的主机 IP。 ZK_PORT - Zookeeper 的客户端端口。

    【讨论】:

    • 在 clusterstate.json 中检查表明所有节点(solr 服务器)都在运行且健康的内容?
    • 我有陈旧的 /clusterstate.json 数据,其中 Solr 节点为 "state":"active" 但实际上已关闭。 /live_nodes 更敏感,因为它是由 Solr 节点的 ZooKeeper 连接创建的 Ephemeral Znode。当 Solr 节点的 ZooKeeper 连接超时时,ZooKeeper(ensemble)会自动删除这个 Znode。
    【解决方案2】:

    您实际上不想要/clusterstate.json - 因为这仅涵盖集合已经存在的情况。从 ZooKeeper 你需要/live_nodes

    因为 Zookeeper 是 Solr 节点是 Solr 云集群成员的权威,所以你应该先去它,发现哪些成员是可访问的。这就是所有 Solr 云客户端的工作方式,并且可能是解决问题的最佳方法。

    /live_nodes 包含每个活动 Solr 节点的文件,无论存在哪些集合或副本位于何处。

    一旦您解决了/live_nodes...,您就可以在任何具有来自活动节点之一的地址和端口的 Solr 实例上调用 clusterstatus

    http://localhost:8983/solr/admin/collections?action=clusterstatus&wt=json

    clusterstatus 提供了 Solr 节点、集合、副本等的详细概述。您想知道的一切。

    最后一点,在 solr.in.sh 配置 (/etc/default/solr.in.sh) 中设置 SOLR_HOST 是非常明智的- 默认情况下,'localhost' 用于引用 solr 节点。将此值设置为您希望 Solr 节点标识的公共地址将阻止 ZooKeeper 在尝试访问 Solr 节点时将地址“localhost”返回给客户端。

    【讨论】:

    • 我在 /clusterstate.json 之前第二次检查 /live_nodes。
    猜你喜欢
    • 2015-11-10
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 2017-01-19
    • 2010-10-17
    • 2019-09-29
    • 1970-01-01
    相关资源
    最近更新 更多