Elasticsearch java API (5)Transport Client

Transport Clientedit

 TransportClient远程连接到一个Elasticsearch集群使用传输模块。它不加入集群,只是被一个或多个初始运输地址和与他们以循环赛的方式在每个行动(尽管大多数操作可能会“两跳”操作)。

// on startup

Client client = TransportClient.builder().build()
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));

// on shutdown

client.close();

请注意,您必须设置集群名称比“elasticsearch”:如果你使用一个不同的
Settings settings = Settings.settingsBuilder()
        .put("cluster.name", "myClusterName").build();
Client client = TransportClient.builder().settings(settings).build();
//Add transport addresses and do something with the client...

传输客户端有一个集群嗅探功能,允许它动态地添加新的主机和删除旧的。当嗅启用传输客户端将连接到节点的内部节点列表中,通过调用addTransportAddress构建。在这之后,客户机将调用内部集群状态API在这些节点发现可用的数据节点上。客户端将被替换的内部节点列表中与数据节点。这个列表默认每5秒刷新。注意,IP地址嗅探器连接的宣布的 发布在这些节点的地址elasticsearch配置。

记住列表可能不包括原始节点连接到如果节点不是一个数据节点。例如,如果您一开始连接到主节点,闻没有进一步的请求后,将主节点,而是任何数据节点。运输不包括数据节点的原因是为了避免搜索流量只主节点。

为了使嗅探,集 client.transport.sniff true:

Settings settings = Settings.settingsBuilder()
        .put("client.transport.sniff", true).build();
TransportClient client = TransportClient.builder().settings(settings).build();

其他运输客户级别设置包括:

参数 描述

client.transport.ignore_cluster_name

设置为 true忽略集群名称验证连接的节点。(因为0.19.4)

client.transport.ping_timeout

时间等待一个平响应从一个节点。默认为 5s.

client.transport.nodes_sampler_interval

多长时间样本/ ping列出的节点和连接。默认为 5s.



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值