gpt4 book ai didi

java - 嵌入式节点名称

转载 作者:行者123 更新时间:2023-11-30 07:12:56 31 4
gpt4 key购买 nike

我有一个 Java 应用程序,我使用嵌入式 Elasticsearch 作为客户端(只读)节点连接到 Elasticsearch 集群。我没有在 elastiscsearch.yml 文件中设置 node.name 属性。是否可以获取 Elasticsearch 随机分配给该节点的名称?我更愿意通过 Java API 获取此信息,以便我的应用程序可以在状态屏幕上显示节点名称。

最佳答案

如果你有一个实例化的org.elasticsearch.node.Node,我想你可以这样得到它


node.settings().get("name");

您也可以从集群管理员的 nodeStats 调用中获取它。这将反射(reflect)您将从节点/统计 REST api 获得的结果,如下所示:


ActionFuture<NodesStatsResponse> nsr = client().admin().cluster().nodesStats(new NodesStatsRequest());<br/>
System.out.println(nsr.get().toString());

```

{
"cluster_name" : "unitTest",
"nodes" : {
"1" : {
"timestamp" : 1384212017873,
"name" : "Naga",
"transport_address" : "local[1]",
"hostname" : "marks-Latitude-E6510",
"attributes" : {
"http.enabled" : "false",
"local" : "true"
},
"indices" : {
.... blah blah blah
}
}
}
}

```

关于java - 嵌入式节点名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19913418/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com