【elasticsearch之java入门】第一篇---通过TransportClient连接到elasticsearch
2018-01-23 14:14
555 查看
java通过TransportClient连接elasticsearch,TransportClient通过传输模式来连接到一个Elasticsearch的集群。它并不会加入到集群当中,而是会简单的得到一个或者更多的初始化的传输地址并且在每一个活动(绝大多数的活动可能会是两跳的操作符)当中以轮询调度的方式来和它们通信。
// 开启客户端
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new TransportAddress(InetAddress.getByName("host1"), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName("host2"), 9300));
// 关闭客户端
client.close();
注意如果你用了一个和“elasticsearch”不同的集群名称,你必须设置集群的名字。
Settings settings = Settings.builder()
.put("cluster.name", "myClusterName").build();
TransportClient client = new PreBuiltTransportClient(settings);
TransportClient伴随着一个集群探测特征,这允许它来动态的增加新的主机以及移除旧的。嗅探器开启时,TransportClient会连接到通过调用addTransporrtAddress来构建的内部节点列表的节点。在这之后,客户端会调用那些节点的内部集群状态的API来发现可用的数据节点。客户端的内部节点列表只能被替换为那些数据节点。默认列表会每五秒刷新一次。注意嗅探器连接到的IP地址是那些节点的Elasticsearch的配置当中声明的publish地址。
记住这个节点列表可能不会记住那些连接过的非数据节点。如果,举个例子,你一开始连接到了一个主节点,嗅探之后,更多的请求不会到达主节点,而是到达任意的其他数据节点。TransportClient排除非数据节点的原因是避免发送搜索请求到单独的主节点。
为了开启嗅探,设置client.transport.sniff为true:
Settings settings = Settings.builder()
.put("client.transport.sniff", true).build();
TransportClient client = new PreBuiltTransportClient(settings);
其他的TransportClient等级设置包括:
参数
描述
client.transport.ignore_cluster_name
设置为true来忽略集群名称验证连接的节点 (since 0.19.4)
client.transport.ping_timeout
等待节点ping返回的时间,默认为5秒
client.transport.nodes_sampler_interval
检验已连接节点列表的活跃性的间隔时间,默认为5秒
本文相关信息来自elasticsearch官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.1/transport-client.html
// 开启客户端
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new TransportAddress(InetAddress.getByName("host1"), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName("host2"), 9300));
// 关闭客户端
client.close();
注意如果你用了一个和“elasticsearch”不同的集群名称,你必须设置集群的名字。
Settings settings = Settings.builder()
.put("cluster.name", "myClusterName").build();
TransportClient client = new PreBuiltTransportClient(settings);
TransportClient伴随着一个集群探测特征,这允许它来动态的增加新的主机以及移除旧的。嗅探器开启时,TransportClient会连接到通过调用addTransporrtAddress来构建的内部节点列表的节点。在这之后,客户端会调用那些节点的内部集群状态的API来发现可用的数据节点。客户端的内部节点列表只能被替换为那些数据节点。默认列表会每五秒刷新一次。注意嗅探器连接到的IP地址是那些节点的Elasticsearch的配置当中声明的publish地址。
记住这个节点列表可能不会记住那些连接过的非数据节点。如果,举个例子,你一开始连接到了一个主节点,嗅探之后,更多的请求不会到达主节点,而是到达任意的其他数据节点。TransportClient排除非数据节点的原因是避免发送搜索请求到单独的主节点。
为了开启嗅探,设置client.transport.sniff为true:
Settings settings = Settings.builder()
.put("client.transport.sniff", true).build();
TransportClient client = new PreBuiltTransportClient(settings);
其他的TransportClient等级设置包括:
参数
描述
client.transport.ignore_cluster_name
设置为true来忽略集群名称验证连接的节点 (since 0.19.4)
client.transport.ping_timeout
等待节点ping返回的时间,默认为5秒
client.transport.nodes_sampler_interval
检验已连接节点列表的活跃性的间隔时间,默认为5秒
本文相关信息来自elasticsearch官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.1/transport-client.html
相关文章推荐
- Hive编程入门总结-用Java代码通过JDBC连接Hiveserver
- MySQL入门接触记录--从安装到Java通过JDBC连接MySQL数据库
- Java通过JDBC连接Mysql数据库的方法和实例【图文说明】
- ElasticSearch学习(7)-Java连接ElasticSearch集群
- ElasticSearch入门 第一篇:Windows下安装ElasticSearch
- Java 通过JDBC连接Mysql数据库
- 通过socket连接传递java对象(对象序列化)
- Java通过JDBC连接Sql Server
- Java程序通过JDBC-ODBC连接本地数据库
- NoSQL入门第五天——Java连接与整合操作
- [置顶] Hive:用Java代码通过JDBC连接Hiveserver
- 用Java代码通过JDBC连接Hiveserver2
- elasticsearch中的java.io.IOException: 远程主机强迫关闭了一个现有的连接
- 一、JAVA通过JDBC连接mysql数据库(连接)
- Hive:用Java代码通过JDBC连接Hiveserver
- Java中通过JDBC远程连接Oracle数据库
- Java 通过 JNI 调用 C 之一 HelloWorld 入门
- java连接sqlserver,并通过生日(日期)搜索数据库中的数据
- java 通过SSL/TLS加密https建立连接
- 通过Java HTTP连接将网络图片下载到本地