gpt4 book ai didi

azure - 如何连接到Azure上安装的多个节点的elasticsearch集群?如何获取elasticsearch端点?

转载 作者:行者123 更新时间:2023-12-02 22:34:21 26 4
gpt4 key购买 nike

我已经从 Azure 市场安装了 3 个 Elastic Search 节点,任何节点都可以充当主节点。现在如何连接到集群?如果我有一个节点,我可以简单地使用其 IP 和端口(9200),但这里我有 3 个节点,那么如何获取集群端点?谢谢

最佳答案

我就是这样做的,它对我来说效果很好:

public class ElasticsearchConfig {

private Vector<String> hosts;

public void setHosts(String hostString) {
if(hostString == null || hostString.trim().isEmpty()) {
return;
}

String[] hostParts = hostString.split(",");
this.hosts = new Vector<>();
Collections.addAll(this.hosts, hostParts);
}
}

public class ElasticClient {

private final ElasticsearchConfig config;

private RestHighLevelClient client;

public ElasticClient(ElasticsearchConfig config) {
this.config = config;
}

public void start() throws Exception {

HttpHost[] httpHosts = new HttpHost[config.getHosts().size()];
config.getHosts()
.stream()
.map(host -> new HttpHost(host.split(":")[0], Integer.valueOf(host.split(":")[1])))
.collect(Collectors.toList())
.toArray(httpHosts);

client = new RestHighLevelClient(RestClient.builder(httpHosts));

System.out.println("Started ElasticSearch Client");
}

public void stop() throws Exception {
if (client != null) {
client.close();
}
client = null;
}
}

设置 ElasticsearchConfig 如下:

ElasticsearchConfig config = new ElasticsearchConfig();
config.setHosts("ip1:port,ip2:port,ip3:port");

关于azure - 如何连接到Azure上安装的多个节点的elasticsearch集群?如何获取elasticsearch端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63366576/

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