0

我们如何使用 java 高级别的客户端获取 elasticseacrh 的节点详细信息。我们可以使用GET /_cat/nodes在 KIbana 中获取节点详细信息。我想如何使用高级别的客户端获取相同的细节,我需要节点的 IP 地址以及它的主节点与否。

4

1 回答 1

1

看起来 JHLRC 没有获取 API 的_cat/nodesAPI,但可以使用 JHLRC 中提供的低级客户端轻松获取,如下代码所示

private void getNodesAPI(RestHighLevelClient restHighLevelClient) throws IOException {
        RestClient lowLevelClient = restHighLevelClient.getLowLevelClient();
        Request request = new Request(
                "GET",
                "/_cat/nodes?v");
        Response response = lowLevelClient.performRequest(request);
        if (response.getStatusLine().getStatusCode() == 200) {
            System.out.println("resp: \n"+ EntityUtils.toString(response.getEntity()));
        }
    }

在本地运行上面的代码并且它可以工作,下面是控制台上的 O/P

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           48          99  21    2.59    1.93     1.92 *    opster
于 2020-09-16T16:51:17.233 回答