elastisearch之java api Transportclient创建连接
2017-07-19 23:47
344 查看
ElasticSearch提供了NodeClient,Transport方式。
NodeClient这种方式相当于创建了一个节点,放入集群中,这个节点不存储数据,并且不能作为主节点,因为是一个节点,它知道整个集群的状态(每个节点在哪,哪些分片在哪个节点上等),这意味着它执行API时不会出现”连跳”。
TransportClient不创建节点,它存在于集群外部,类似于REST客户端,只是充当ES集群和你的应用的通信层,它知道API,并且能够在节点间自动轮循、帮你嗅探集群等。
Transport方式的好处是:
当然也有缺点
如果应用的是java语言,一般通过Transport优于node
elasticsearch1.7版本的TransportClient
elasticsearch 5.*版本的TransportClient
NodeClient这种方式相当于创建了一个节点,放入集群中,这个节点不存储数据,并且不能作为主节点,因为是一个节点,它知道整个集群的状态(每个节点在哪,哪些分片在哪个节点上等),这意味着它执行API时不会出现”连跳”。
TransportClient不创建节点,它存在于集群外部,类似于REST客户端,只是充当ES集群和你的应用的通信层,它知道API,并且能够在节点间自动轮循、帮你嗅探集群等。
Transport方式的好处是:
性能更高 本地资源消耗更少 内置连接池
当然也有缺点
当初始化连接时,ElasticSearch必须已启动,且必须知道集群中一个节点的IP地址和端口; 可能存在"连跳",浪费一定的网络资源
如果应用的是java语言,一般通过Transport优于node
elasticsearch1.7版本的TransportClient
Settings settings = ImmutableSettings.settingsBuilder().put("自己的配置","同前").build(); TransportClient esclient = new TransportClient(settings); esclient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("自己的ip"), 应用的端口号));
elasticsearch 5.*版本的TransportClient
Settings settings=Settings.builder().put("自己的配置","同前").build(); TransportClient client=null; try { client= new PreBuiltTransportClient(settings) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(("自己的ip"), 应用的端口号)); }catch(Exception e){ }
相关文章推荐
- ElasticSearch java API--创建Client连接
- ELK研究(一):elasticsearch java api接口操作ES集群 ---TransportClient的使用介绍 bulk批量提交数据
- Elasticsearch java API (5)Transport Client
- elasticsearch java 基于TransportClient API的增删改查
- ELK研究(一):elasticsearch java api接口操作ES集群 ---TransportClient的使用介绍 bulk批量提交数据
- elasticsearch 5.0 获取 TransportClient 操作客户端java API
- elasticsearch 5.0 获取 TransportClient 操作客户端java API
- 修补PHPRPC_Client中(JAVA版本),创建Socket连接时Timeout不起作用
- elasticsearch 2.3.4 java API 连接,ik分词器,设置集群节点,创建index,mapping的几种方式
- spark连接es的问题java.lang.ClassNotFoundException:org.elasticsearch.client.transport.NoNodeAvailableExcep
- Elasticsearch Java API - 客户端连接(TransportClient,PreBuiltXPackTransportClient)(一)
- JAVA基础知识之网络编程——-使用Proxy创建连接
- java 通过连接池来创建连接数据库
- ElasticSearch Java Api(一) -创建索引
- Hbase 新api连接java实现
- 使用Java网络编程创建基于TCP协议的Server和Client
- Java使用JDBC连接Hive(新版本)API封装
- 使用Java的TCP/Ip创建本地测试连接
- [原创] Java JDBC连接数据库,反射创建实体类对象并赋值数据库行记录(支持存储过程)
- java网络编程____httpclient长连接请求长轮询