【发布时间】:2014-12-22 12:12:02
【问题描述】:
我正在使用 Java API 创建 Elasticsearch 连接。我正在使用 TransportConnection,我需要为连接设置超时。
我没有配置任何属性,连接需要三分钟才能让我超时。
有人知道是否存在任何属性来设置超时值吗?
谢谢。
【问题讨论】:
标签: java elasticsearch timeout
我正在使用 Java API 创建 Elasticsearch 连接。我正在使用 TransportConnection,我需要为连接设置超时。
我没有配置任何属性,连接需要三分钟才能让我超时。
有人知道是否存在任何属性来设置超时值吗?
谢谢。
【问题讨论】:
标签: java elasticsearch timeout
Settings settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", cluster_name).put("client.transport.ping_timeout", "30s").build();
TransportClient transport = new TransportClient(settings);
另请参阅 ES 文档页面中的以下内容:
【讨论】:
使用以下代码更新 TransportClient 的连接超时值:
Settings.builder().put("transport.tcp.connect_timeout", "240s")
完整的 TransportClient 代码:
Settings settings = Settings.builder()
.put("cluster.name", "elasticsearch")
.put("client.transport.sniff", true)
.put("transport.tcp.connect_timeout", "240s")
.build();
Client transportClient = new PreBuiltTransportClient(settings)
.addTransportAddresses(
new TransportAddress("127.0.0.1"), "9300"));
重要提示:每个 Elasticsearch 版本都有不同的配置键。您可以阅读此文档以了解您可以更改的其他设置:
www.elastic.co/guide/en/elasticsearch/reference/6.4/modules-transport.html
如果您使用的是 AWS Elasticsearch,请检查负载均衡器超时设置。
docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html
【讨论】: