问题描述
我们如何使用Java高级休息客户端获取elasticseacrh的节点详细信息。 我们可以使用 GET / _cat / nodes 获取KIbana中的节点详细信息。 我想了解如何使用高级Rest Client获得相同的详细信息,我需要节点的IP地址以及是否使用其主节点。
解决方法
看起来JHLRC没有获得_cat/nodes
API的API,但是可以使用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