ElasticSearch Transport Client

Posted 一颗小蚕豆 期待发芽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch Transport Client相关的知识,希望对你有一定的参考价值。

Transport  Client 通过远程连接到Es 集群,他不加入集群,只是通过集群nodes 的 transportAddress 和集群通信。

一  如何通过集群域名获得集群nodes的transportAddress

http://xxx.com/_cat/nodes?h=ip,port

http://xxx.com/_nodes/transport

 

二 TransportClient 初始化方式

// on startup

TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
        .addTransportAddress(new TransportAddress(InetAddress.getByName("host1"), 9300)) //9300 为nodes 默认的端口,请使用实际 端口号
        .addTransportAddress(new TransportAddress(InetAddress.getByName("host2"), 9300));

// on shutdown

client.close();

三 TransportClient 动态加入node

Settings settings = Settings.builder()
        .put("client.transport.sniff", true)   //嗅探 默认每5s去更新下集群新的节点,加入新节点,去掉坏节点
.put("cluster.name", "myClusterName") //集群名称
.build();

TransportClient client = new PreBuiltTransportClient(settings);

四 Settings 其他参数

可通过设置 client.transport.nodes_sampler_interval 来改变轮询集群节点连接的频率。
ParameterDescription

client.transport.ignore_cluster_name

Set to true to ignore cluster name validation of connected nodes. (since 0.19.4)

client.transport.ping_timeout

The time to wait for a ping response from a node. Defaults to 5s.

client.transport.nodes_sampler_interval

How often to sample / ping the nodes listed and connected. Defaults to 5s.


官方文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html

以上是关于ElasticSearch Transport Client的主要内容,如果未能解决你的问题,请参考以下文章

elasticSearch6源码分析http和transport模块

elasticsearch transport-couchbase插件拒绝端口9091上的连接

《Elasticsearch 源码解析与优化实战》第15章:Transport模块分析

《Elasticsearch 源码解析与优化实战》第15章:Transport模块分析

elaseticsearchelaseticsearch启动报错Caused by: org.elasticsearch.transport.BindTransportException: Fai(代

elasticsearch,java api, transport Client, 查询时索引库可以用通配符*和删除接口不能用